C6319
警告 C6319:在被测试的表达式中使用了逗号运算符,导致左侧的参数在无副作用时被忽略
此警告意味着,由于使用了逗号运算符 (,) 而忽略了测试上下文中的子表达式。逗号运算符具有从左向右的关联性。逗号运算符的结果是最后计算的表达式。如果逗号运算符左侧的表达式没有任何副作用,则编译器可能不再生成该表达式的代码。
示例
下面的代码生成此警告:
void f()
{
int i;
int x[10];
// code
for ( i = 0; x[i] != 0, x[i] < 42; i++) // warning
{
// code
}
}
若要更正此警告,请使用逻辑与运算符,如下面的代码所示:
void f()
{
int i;
int x[10];
// code
for ( i = 0; (x[i] != 0) && (x[i] < 42); i++)
{
// code
}
}