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!

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top