2011-11-18 13 views

risposta

8

I compilatori a volte lamentano parametri non utilizzati; il cast "(void)" è semplicemente un modo per usare la variabile in un contesto vuoto, senza effetti collaterali, in modo che il compilatore non si lamenti di essere "inutilizzato".

EDIT: Come rodrigo sottolinea seguito, l'avviso compilatore può essere soppressa senza il prefisso (void), ma poi un altro avvertimento (sull'espressione avere alcun effetto) può apparire invece. Quindi (void)filename è come si potrebbero prevenire entrambi gli avvisi.

+0

Che cos'è il passato? – James

+0

In realtà, il cast di 'void' non era necessario per rimuovere l'avviso. Ma senza di essa, a volte apparirebbe un altro avvertimento su "l'espressione non ha alcun effetto". Il '(void)' l'ha evitato. – rodrigo

+0

@James: Non l'ho mai visto in nessun compilatore che abbia mai usato, ma sono anche piuttosto giovane. :-) –

3

Sta impedendo un avviso su un parametro non utilizzato, niente di più.

Problemi correlati