CppCheck: Variabile 'bla' non viene assegnato un valore
-
24-10-2019 - |
Domanda
in esecuzione CppCheck sopra la mia base di codice produce alcuni avvisi di stile. Per esempio. in
void foo(int& x)
{
x = 0;
}
void bar()
{
int y;
foo(y);
}
mi dà
Variable 'y' is not assigned a value
E 'lo stesso con il codice come
char buffer[160];
i+=sprintf(buffer,"%2.2ld.",ymd.monthday);
Questo è un problema con il mio codice o è un problema con CppCheck? (Come) dovrei risolvere il problema?
Grazie per ogni pensiero!
Soluzione
E 'un bug nel CppCheck e la notizia buona è che ha già stato fissato!
È possibile sia prendere il codice più recente e costruire la propria versione o attendere v1.48 per essere rilasciato. La versione 1.48 è previsto per essere rilasciato il 9 aprile in base al il wiki .
Altri suggerimenti
Si tratta di un problema di CppCheck. Il tuo codice va bene (almeno quello dato).
Si utilizza la y
variabile come parametro di 'fuori', ma CppCheck non è in grado di determinare che. E 'meglio per inizializzare il y
al momento della definizione con la int y = 0;
modo che in futuro, se qualcuno cerca di utilizzare il parametro x
in foo
non otterranno valore non inizializzato.