Advertencia C6319

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

Comentarios

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

Nombre del análisis de código: IGNOREDBYCOMMA

Ejemplo

El código siguiente genera esta advertencia:

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

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

Para corregir esta advertencia, use el operador lógico AND como se muestra en el código siguiente:

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

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

Consulte también