【问题标题】:CppCheck: Variable 'bla' is not assigned a valueCppCheck:变量“bla”未赋值
【发布时间】: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 有问题? (如何)我应该修复它?

感谢您的任何想法!

【问题讨论】:

    标签: c++ coding-style 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,他们就不会得到未初始化的值。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-12-22
          • 1970-01-01
          • 2016-01-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-02-21
          相关资源
          最近更新 更多