CPPcheck: Variable 'Bla' wird kein Wert zugewiesen
-
24-10-2019 - |
Frage
Das Ausführen von CPPcheck über meine Codebasis erzeugt einige Stilwarnungen. ZB in
void foo(int& x)
{
x = 0;
}
void bar()
{
int y;
foo(y);
}
es gibt mir
Variable 'y' is not assigned a value
Es ist dasselbe mit Code wie
char buffer[160];
i+=sprintf(buffer,"%2.2ld.",ymd.monthday);
Ist dies ein Problem mit meinem Code oder ist es ein Problem mit CPPcheck? (Wie) soll ich es beheben?
Danke für irgendwelche Gedanken!
Lösung
Es ist ein Insekt In CPPcheck und die gute Nachricht ist, dass es bereits behoben wurde!
Sie können entweder das schnappen Letzter Code Erstellen Sie Ihre eigene Version oder warten Sie auf die Veröffentlichung von V1.48. Version 1.48 soll am 9. April laut April veröffentlicht werden. das Wiki.
Andere Tipps
Es ist ein Problem von CPPcheck. Ihr Code ist in Ordnung (zumindest der gegebene).
Sie verwenden die Variable y
Als "Out" -Parameter, aber Cppcheck kann das nicht bestimmen. Es ist besser, das zu initialisieren y
Zum Zeitpunkt der Definition mit int y = 0;
Also in Zukunft, wenn jemand versucht, den Parameter zu verwenden x
in foo
Sie erhalten keinen nicht initialisierten Wert.