2012-08-06 19 views
6

¿Cómo se pueden suprimir las advertencias que el compilador genera sobre las variables no utilizadas en un programa C++?¿Cómo suprimir las advertencias sobre las variables no utilizadas en C++?

estoy usando el compilador g ++

+4

¿Qué compilador? – Jacob

+0

"¿Cómo puede uno?" ¿Por qué uno quiere? – Beta

+2

Utilizándolos? Si una variable no se usa, ¿por qué no puede simplemente eliminar su definición? Es posible que tenga una buena respuesta a esto y/o esa respuesta puede afectar el mejor enfoque para usar. –

Respuesta

7

Compilar con la opción -Wno-unused-variable.

Consulte el GCC documentation on Warning Options para obtener más información.

Las opciones -Wno-__ desactivan las opciones establecidas por -W__. Aquí estamos desactivando -Wunused-variable.

Además, puede aplicar el __attribute__((unused)) a la variable (o función, etc.) para suprimir esta advertencia caso por caso. Gracias Jesse Good por mencionar esto.

10

poner en un molde para anular:

int unused; 
(void)unused; 
+0

El lanzamiento a 'void' es la forma idiomática de marcar una variable como * used * pero sin efectos secundarios. +1 –

+0

simple y fácil. Buena esa. +1 – Neophile

+0

especialmente útil si la variable dada se usa en una parte condicional (por ejemplo, un parámetro de función utilizado solo en algunos registros de depuración) –

2

Para eliminar estas advertencias hago un macro que se puede utilizar en toda mi proyecto:

#define UNUSED(x) (void)(x) 
+0

Esto no funciona para mí – JAM

+0

¿Lo está usando con cualquier variable o simplemente definiéndola? – Aesthete

Cuestiones relacionadas