C6319
경고 C6319: 테스트되는 식에 쉼표 연산자를 사용하면 의도된 대로 동작하는 경우 왼쪽 인수가 무시됩니다.
이 경고는 쉼표 연산자(,) 때문에 테스트 컨텍스트에서 하위 식이 무시된다는 것을 나타냅니다.쉼표 연산자는 왼쪽에서 오른쪽으로 결합됩니다.쉼표 연산자의 결과는 마지막에 계산되는 식입니다.쉼표 연산자의 왼쪽 식이 의도된 대로 동작하는 경우 컴파일러에서 이 식에 대한 코드 생성을 생략할 수 있습니다.
예제
다음 코드에서는 이 경고를 발생시킵니다.
void f()
{
int i;
int x[10];
// code
for ( i = 0; x[i] != 0, x[i] < 42; i++) // warning
{
// code
}
}
이 경고를 해결하려면 다음 코드에서처럼 논리 AND 연산자를 사용합니다.
void f()
{
int i;
int x[10];
// code
for ( i = 0; (x[i] != 0) && (x[i] < 42); i++)
{
// code
}
}