在我的代码库上运行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的问题? (怎么样)我应该修理它?
感谢您的任何想法!
答案 0 :(得分:4)
在CppCheck中它是bug,好消息是它已经修复了!
您可以抓住latest code并构建自己的版本,也可以等待v1.48发布。版本1.48计划于4月9日根据the wiki发布。
答案 1 :(得分:1)
这是CppCheck的问题。你的代码很好(至少是给定的代码)。
答案 2 :(得分:1)
您使用变量y
作为'out'参数,但CppCheck无法确定。最好使用y
在定义时初始化int y = 0;
,以便将来如果某人尝试在x
中使用参数foo
,则他们将无法获得未初始化的值