Я использовал va_list так:
void foo(const char* firstArg, ...) {
va_list args;
va_start (args, firstArg);
for (const char* arg = firstArg; arg != NULL; arg = va_arg(arg, const char*)) {
// do something with arg
}
va_end(args);
}
foo ("123", "234", "345")
первые три аргумента были переданы в foo правильно, но где«345» готово,
arg = va_arg(arg, const char*)
установить какое-то другое странное значение на arg .
, так в чем проблема.Я использовал llvm3.0 в качестве моего компилятора.