Поделиться через


C6319

Обновлен: Ноябрь 2007

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

См. также

Ссылки

Logical AND Operator: &&

Comma Operator: ,