2

在我的代码库上运行 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 有问题?(如何)我应该修复它?

感谢您的任何想法!

4

3 回答 3

5

这是 CppCheck 中的一个错误,好消息是它已经被修复了!

您可以获取最新代码并构建自己的版本,也可以等待 v1.48 发布。根据维基,1.48 版计划于 4 月 9 日发布。

于 2011-03-16T07:19:39.907 回答
1

这是 CppCheck 的问题。您的代码很好(至少给定的代码)。

于 2011-03-16T07:06:56.883 回答
1

您将变量y用作“输出”参数,但 CppCheck 无法确定。最好y在定义时初始化,int y = 0;这样将来如果有人尝试使用参数xfoo他们就不会得到未初始化的值。

于 2011-03-16T07:11:59.323 回答