Я сталкиваюсь с ситуацией, когда мне нужно пройти cppchecks, но иногда это бывает сложно.Что вы обычно делаете в таких обстоятельствах?Например.
#include<iostream>
using namespace std;
void fun1();
int fun2();
int main()
{
fun1();
}
void fun1()
{
int retVal;
if (-1 == (retVal = fun2()))
{
cout <<"Failure. fun2 returned a -1"<< endl;
}
}
int fun2()
{
return -1;
}
Обычно мы видим код, подобный приведенному выше.cppcheck для вышеуказанного файла выдаст следующий вывод: *
cppcheck --suppress = redundantAssignment --enable = 'предупреждение, стиль, производительность, переносимость' --inline-suppr --language = 'c ++ 'retval_neverused.cpp Проверка retval_neverused.cpp ... [retval_neverused.cpp: 13]: (стиль) Переменной' retVal 'присваивается значение, которое никогда не используется.
Я не хочудобавить некоторую фиктивную ретрансляцию печати только ради cppcheck.Фактически, это может быть ситуация, когда я выбрасываю исключение, и я не хочу, чтобы в исключении было что-то тривиальное в качестве значения retVal.