Cppcheck: переменная «bla» не присваивается значение

StackOverflow https://stackoverflow.com/questions/5321979

  •  24-10-2019
  •  | 
  •  

Вопрос

Запуск 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? (Как) мне это исправить?

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

Это было полезно?

Решение

Это ошибка В CPPCHECK и хорошая новость в том, что она уже была исправлена!

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top