2012-08-06 20 views
6

Come si può sopprimere il compilatore di avvertimenti sulle variabili non utilizzate in un programma C++?Come sopprimere gli avvisi sulle variabili non utilizzate in C++?

Sto usando il compilatore g ++

+4

Quale compilatore? – Jacob

+0

"Come si può?" Perché uno vuole? – Beta

+2

Usandoli? Se una variabile non è utilizzata, perché non puoi semplicemente cancellare la sua definizione? Potresti avere una buona risposta a questo, e/o quella risposta potrebbe influenzare il miglior approccio da usare. –

risposta

7

Compilare con l'opzione -Wno-unused-variable.

Vedere GCC documentation on Warning Options per ulteriori informazioni.

Le opzioni -Wno-__ disattivano le opzioni impostate da -W__. Qui stiamo spegnendo -Wunused-variable.

Inoltre, è possibile applicare __attribute__((unused)) alla variabile (o funzione, ecc.) Per sopprimere questo avviso caso per caso. Grazie Jesse Good per aver menzionato questo.

10

Put in un cast a vuoto:

int unused; 
(void)unused; 
+0

Il cast di 'void' è il modo idiomatico di contrassegnare una variabile come * used * ma senza effetti collaterali. +1 –

+0

semplice e facile. Ben fatto. +1 – Neophile

+0

particolarmente utile se la variabile data viene utilizzata in una parte condizionale (ad esempio un parametro funzione utilizzato solo in alcuni log di debug) –

2

per rimuovere questi avvertimenti faccio un macro che può essere utilizzato in tutto il mio progetto:

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

Questo non funziona per me – JAM

+0

Lo stai usando con qualsiasi variabile o semplicemente definendolo? – Aesthete

Problemi correlati