The 1989 C standard didn’t allow variable argument macros. They were added in the 1999 standard. To use one according to the standard, plug in “__VA_ARGS__” where you want the variable arguments. For example:
#define print(…) real_print( __VA_ARGS__ , 0)
Of course, your compiler may or may not support either this feature or a nonstandard variation.
You might have guessed that, after all those years, the MS compiler still does not support them!!! arghh. crap.