10
Стандартная альтернатива трюку GCC ## __ VA_ARGS__?
Существует известная проблема с пустыми аргументами для вариационных макросов в C99. пример: #define FOO(...) printf(__VA_ARGS__) #define BAR(fmt, ...) printf(fmt, __VA_ARGS__) FOO("this works fine"); BAR("this breaks!"); Использование BAR()вышеупомянутого действительно неверно в соответствии со стандартом C99, так как оно расширится до: printf("this breaks!",); Обратите внимание на запятую - не работает. Некоторые компиляторы …