C6001

更新:2007 年 11 月

警告 C6001:使用未初始化的内存 <variable>

如果在给局部变量赋值(即对其进行初始化)之前使用该变量,则会报告此警告。这可能导致不可预知的结果。任何时候要使用变量,都应先对其进行初始化。

示例

在下面的代码中,由于 i 变量仅在 b 为 true 时才初始化,否则返回未初始化的 i,因此会生成此警告:

int f( bool b )
{
   int i;
   if ( b )
   {
      i = 0;
   }
   return i; // i is unintialized if b is false
}

若要更正此警告,请如下面的代码所示初始化变量:

int f( bool b )
{
   int i= -1;

   if ( b )
   {
      i = 0;
   }
   return i;
}

请参见

参考

编译器警告(级别 1 和级别 4)C4700

编译器警告(等级 1)C4701