在我的代码库上运行cpcheck会产生一些样式警告。例如

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的问题? (我应该如何修复它?

感谢您的想法!

有帮助吗?

解决方案

它是 漏洞 在Cppcheck中,好消息是它已经被修复了!

你可以抓住 最新代码 并构建自己的版本或等待v1.48发布。计划于4月9日发布1.48版 维基.

其他提示

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

您正在使用变量 y 作为“ OUT”参数,但是Cppcheck无法确定。最好初始化 y 在定义时 int y = 0; 因此,将来如果有人试图使用该参数 xfoo 他们不会获得非直接的价值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top