Variable numbers of arguments macro

Started by jiake, May 05, 2014, 11:32:02 AM

Previous topic - Next topic

jiake

Microsoft Visual C++ support this feature:
#define PRINTF(fmt, ...) printf(fmt, ##__VA_ARGS__)
The following usage are both valid:
PRINTF("Good!");
PRINTF("Good (%d)!", 0);

You can pass nothing to the variable numbers of arguments.
I like Pelles C for it supports many new features than Visual C++.
But this one hasn't been supported until 8.0 RC...

iZzz32


#define PRINTF(...) printf(__VA_ARGS__)

neo313

Quote from: iZzz32 on May 05, 2014, 04:37:21 PM

#define PRINTF(...) printf(__VA_ARGS__)


And your point is? That still requires an argument.

iZzz32

Right. And printf requires a format string.

neo313

Quote from: iZzz32 on May 16, 2014, 06:08:24 AM
Right. And printf requires a format string.

Do you seriously believe that printf is the only function that qualifies for the usage of macro va_args?

frankie

Try to compile:
int __cdecl test(...)
{
return 0;
}


;)
"It is better to be hated for what you are than to be loved for what you are not." - Andre Gide

neo313

I would also like this feature.

Does anyone know a hack that would enable this, or at least similar behavior?