C6319

Actualización: noviembre 2007

C6319

Advertencia C6319: El uso del operador de comas en una expresión probada hace que el argumento izquierdo se omita cuando no tiene efectos secundarios

Esta advertencia indica una sub-expresión omitida en contexto de prueba debido al operador de comas (,). El operador de comas tiene asociatividad de izquierda a derecha. El resultado del operador de comas es la última expresión evaluada. Si la expresión situada a la izquierda del operador de comas no tiene ningún efecto secundario, el compilador podría omitir la generación de código para la expresión.

Ejemplo

El código siguiente genera esta advertencia:

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 como se muestra en el código siguiente:

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

  // code 

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

Vea también

Referencia

Logical AND Operator: &&

Comma Operator: ,