10
Standardowa alternatywa dla sztuczki ## __ VA_ARGS__ GCC?
Istnieje dobrze znany problem z pustymi argumentami dla makr wariadycznych w C99. przykład: #define FOO(...) printf(__VA_ARGS__) #define BAR(fmt, ...) printf(fmt, __VA_ARGS__) FOO("this works fine"); BAR("this breaks!"); Użycie BAR()powyższego jest rzeczywiście nieprawidłowe zgodnie ze standardem C99, ponieważ rozszerzy się do: printf("this breaks!",); Zwróć uwagę na końcowy przecinek - nie działa. Niektóre …