CppCheck:变量'bla'未赋值

时间:2011-03-16 06:58:31

标签: c++ coding-style cppcheck

在我的代码库上运行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的问题? (怎么样)我应该修理它?

感谢您的任何想法!

3 个答案:

答案 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,则他们将无法获得未初始化的值