C6319C6319

Advertencia C6319: uso del operador de coma en una expresión probada hace que el argumento izquierdo se omita cuando no tiene efectos secundarioswarning C6319: use of the comma-operator in a tested expression causes the left argument to be ignored when it has no side-effects

Esta advertencia indica una subexpresión omitido en el contexto de prueba debido a operador de coma (,).This warning indicates an ignored sub-expression in test context because of the comma-operator (,). El operador de comas tiene asociatividad de izquierda a derecha.The comma operator has left-to-right associativity. El resultado del operador de coma es la última expresión evaluada.The result of the comma-operator is the last expression evaluated. Si la expresión izquierda al operador de coma no tiene efectos secundarios, el compilador podría omitir la generación de código para la expresión.If the left expression to comma-operator has no side effects, the compiler might omit code generation for the expression.

EjemploExample

El código siguiente genera esta advertencia:The following code generates this warning:

void f()
{
  int i;
  int x[10];

  // code
  for ( i = 0; x[i] != 0, x[i] < 42; i++)  // warning
  {
    // code
  }
}

Para corregir esta advertencia, utilice el operador lógico AND tal como se muestra en el código siguiente:To correct this warning, use the logical AND operator as shown in the following code:

void f()
{
  int i;
  int x[10];

  // code

  for ( i = 0; (x[i] != 0) && (x[i] < 42); i++)
  {
    // code
  }
}

Vea tambiénSee Also

Operador AND lógico: & & operador coma:,Logical AND Operator: && Comma Operator: ,