警告 C6319

在所测试的表达式中使用了逗号运算符,导致左侧的参数在无副作用时被忽略

注解

由于逗号运算符 (,),此警告指示测试上下文中的子表达式被忽略。 逗号运算符具有从左向右的关联性。 逗号运算符的结果是计算的最后一个表达式。 如果逗号运算符的左侧表达式没有副作用,编译器可能会省略表达式的代码生成。

代码分析名称:IGNOREDBYCOMMA

示例

以下代码将生成此警告:

void f()
{
  int i;
  int x[10];

  for ( i = 0; x[i] != 0, x[i] < 42; i++)  // warning
  {
    // code
  }
}

要更正此警告,请使用逻辑 AND 运算符,如以下代码所示:

void f()
{
  int i;
  int x[10];

  for ( i = 0; (x[i] != 0) && (x[i] < 42); i++)
  {
    // code
  }
}

另请参阅