CppCheck: переменной 'bla' не присвоено значение - PullRequest
1 голос
/ 16 марта 2011

запуск CppCheck над моей кодовой базой выдает некоторые предупреждения стиля. Например. в

void foo(int& x)
{
  x = 0; 
}
void bar()
{
  int y;
  foo(y);
}

это дает мне

Variable 'y' is not assigned a value

То же самое с кодом, как

 char buffer[160];
 i+=sprintf(buffer,"%2.2ld.",ymd.monthday);

Это проблема с моим кодом или проблема с CppCheck? (Как) я должен это исправить?

Спасибо за любые мысли!

Ответы [ 3 ]

4 голосов
/ 16 марта 2011

Это ошибка в CppCheck, и хорошие новости в том, что она уже исправлена!

Вы можете либо получить последний код и создать свою собственную версиюили дождитесь выпуска v1.48.Версия 1.48 планируется выпустить 9 апреля в соответствии с вики .

1 голос
/ 16 марта 2011

Вы используете переменную y в качестве параметра 'out', но CppCheck не может определить это.Лучше инициализировать y во время определения с помощью int y = 0;, чтобы в будущем, если кто-то попытается использовать параметр x в foo, он не получит неинициализированное значение.

1 голос
/ 16 марта 2011

Это проблема CppCheck.Ваш код в порядке (по крайней мере, данный).

...