Cppcheck: переменная «bla» не присваивается значение
-
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
Они не получат ненициализированную ценность.