Мы делаем некоторую очистку кода, фиксируем сопоставления с подписью/без знака, запускаем статический анализ и т. Д. На базе кода C, C++ и Java.Очистка кода C/C++ выявляет проблемы с переменными макросами
Один из предупреждений мы получаем это
warning: ISO C does not permit named variadic macros
И его спутница предупреждение
warning: ISO C99 requires rest arguments to be used
Теперь в коде C Я использовал C99 standard variadic macro, чтобы решить эту проблему, но в C++ код, какой правильный ответ? Использование того же стиля C99 приводит к другому предупреждению
warning: anonymous variadic macros were introduced in C99
Для чего я не вижу никаких ответов.
Мы используем GCC (G ++) 4.4.3 в Linux.
Я надеюсь, что есть какой-то флаг, или другой метод, который может исправить, или отключить его для конкретного участка кода - но его для протоколирования, которая используется практически в каждом файле ...
возможно дубликат [Are VARIADIC макросы нестандартным?] (Http://stackoverflow.com/questions/4786649/are-variadic-macros-nonstandard) –
Использование C++ 11. Введите '-std = C++ 0x' или' -std = C++ 11' в вашу командную строку GCC. Или просто игнорируйте предупреждение. –
Да, с использованием C++ 11 еще нет в карточках, его просто недостаточно поддерживали (пока) – Petriborg