Очистка кода C/C++ выявила проблемы с вариативными макросами.

Мы выполняем некоторую очистку кода, исправление сравнений со знаком/без знака, запуск статического анализа и т. д. в кодовой базе C, C++, и Ява.

Одно из предупреждений, которое мы получаем, это

warning: ISO C does not permit named variadic macros

И сопровождающее его предупреждение

warning: ISO C99 requires rest arguments to be used

Теперь в коде C я использовал стандартный вариативный макрос C99, чтобы решить проблему, но в C++ код, какой правильный ответ? Использование того же стиля C99 приводит к другому предупреждению

warning: anonymous variadic macros were introduced in C99 

, на которое я не вижу ответов.

Мы используем GCC (G++) 4.4.3 в Linux.

Я надеюсь, что есть какой-то флаг или другой метод, который может исправить или отключить его для определенного раздела кода, но это касается ведения журнала, который используется почти в каждом файле..

11
задан Community 23 May 2017 в 11:44
поделиться