Estamos haciendo algo de limpieza de código, arreglando comparaciones con firmas/no firmas, ejecutando análisis estático, etc., en la base de código de C, C++ y Java.Limpiar código C/C++ revela problemas con macros variadas
Una de las advertencias que estamos recibiendo es
warning: ISO C does not permit named variadic macros
y su compañera de advertencia
warning: ISO C99 requires rest arguments to be used
Ahora, en el código C He utilizado el C99 standard variadic macro para solucionar el problema, pero en el C++ código, ¿cuál es la respuesta correcta? El uso del mismo estilo C99 da como resultado una advertencia diferente
warning: anonymous variadic macros were introduced in C99
Para las que no veo ninguna respuesta.
Estamos usando GCC (G ++) 4.4.3 en Linux.
Estoy esperando que hay alguna bandera, o cualquier otro método que se puede corregir, o desactivarlo para la sección de código específica - pero su registro para el que se utiliza en casi todos los archivos ...
posible duplicado de [Son variadic macros no estándar?] (Http://stackoverflow.com/questions/4786649/are-variadic-macros-nonstandard) –
Utilice C++ 11. Escriba '-std = C++ 0x' o' -std = C++ 11' en su línea de comando de GCC. O simplemente ignora la advertencia. –
Sí, usar C++ 11 aún no está en las tarjetas, simplemente no es compatible (todavía) – Petriborg