10
Standardalternative zum ## __ VA_ARGS__ Trick von GCC?
In C99 gibt es ein bekanntes Problem mit leeren Argumenten für verschiedene Makros. Beispiel: #define FOO(...) printf(__VA_ARGS__) #define BAR(fmt, ...) printf(fmt, __VA_ARGS__) FOO("this works fine"); BAR("this breaks!"); Die Verwendung von BAR()oben ist gemäß dem C99-Standard in der Tat falsch, da es erweitert wird auf: printf("this breaks!",); Beachten Sie das nachfolgende …