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


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

См. также

Ссылки

Логические операторы И операторы: &&

Оператор " запятая. "