I think it means pretty much what it says. The compiler won't allow you to use va_start
, va_arg
, etc, except in a variable argument function. Using va_start
outside of a vararg function makes no sense.
This doesn't define a variable argument function:
int foo(char* buf, int maxChar, const char*& fmt)
This does:
int foo(char* buf, int maxChar, const char*& fmt, ...)