Share via


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
  }
} 

참고 항목

참조

Logical AND Operator: &&

Comma Operator: ,