CppCheck:变量“bla”未赋值
Posted
技术标签:
【中文标题】CppCheck:变量“bla”未赋值【英文标题】:CppCheck: Variable 'bla' is not assigned a value 【发布时间】:2011-03-16 06:58:31 【问题描述】:在我的代码库上运行 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 有问题? (如何)我应该修复它?
感谢您的任何想法!
【问题讨论】:
【参考方案1】:这是 CppCheck 中的 bug,好消息是它已经修复了!
您可以获取latest code 并构建您自己的版本,或者等待 v1.48 发布。 1.48版本计划于4月9日发布the wiki。
【讨论】:
【参考方案2】:这是CppCheck的问题。您的代码很好(至少是给定的)。
【讨论】:
【参考方案3】:您正在使用变量 y
作为“输出”参数,但 CppCheck 无法确定这一点。最好在定义时用int y = 0;
初始化y
,这样以后如果有人尝试在foo
中使用参数x
,他们就不会得到未初始化的值。
【讨论】:
以上是关于CppCheck:变量“bla”未赋值的主要内容,如果未能解决你的问题,请参考以下文章