我运行这样的命令:
./cppcheck file.cpp --inline-suppr --enable=all --error-exitcode=13 \
--quiet --suppress=missingInclude:* --suppress=unusedFunction:* --inconclusive
stdout中没有任何内容,但是:
echo $?
13
同时,如果我检查其他文件,cppcheck什么都不写入stdout并返回0:
echo $?
0
我如何理解file.cpp的“错误”是什么?
答案 0 :(得分:0)
我的 cppcheck 版本(有问题)是1.82。
我没有找到确切的问题(可以重现该问题的简单代码示例),但是我尝试了最后一个版本(目前为' Cppcheck 1.87 dev '),现在该问题已解决。 (对我来说)。
因此,如果您遇到同样的问题,请尝试升级 cppcheck 。
答案 1 :(得分:0)
我不知道这个答案的一般性,但是也许有人会觉得它有用。
我在DECLARE @elementB XML=@YourXml.query('<ElementB>{/Data/ElementA/*}</ElementB>');
-- ... and is inserted on a specific position
SET @YourXml.modify('insert sql:variable("@elementB") after (/Data/ElementA)[1]');
SELECT @YourXml;
中包含的第三方库标头中也得到了相同的行为:cppcheck没有显示警告,但是没有计算了警告退出代码。加上-I
可以解决问题。