Am 10.02.2013 09:18, schrieb Benjamin Thaut:
import core.vararg;
import std.stdio;

void print(string fmt, ...)
{
   auto arg = va_arg!(const(char)[])(_argptr);
   writefln(fmt ~ arg);
}

void main(string[] args)
{
   print("+++","---");
}

This only seems to happen when the argument before the variadic argument list is bigger then 8 byte. This works:

void print(int fmt, ...)
{
  auto arg = va_arg!(const(char)[])(_argptr);
  writefln("%s %s",fmt,arg);
}

void main(string[] args)
{
  print(1,"---");
}

Reply via email to