Condividi tramite


Avviso C6319

L'uso dell'operatore virgola in un'espressione testata determina l'ignorare l'argomento sinistro quando non presenta effetti collaterali

Osservazioni:

Questo avviso indica un'espressione secondaria ignorata nel contesto di test a causa dell'operatore virgola (,). L'operatore virgola presenta un'associatività da sinistra verso destra. Il risultato dell'operatore virgola è l'ultima espressione valutata. Se l'espressione sinistra all'operatore virgola non ha effetti collaterali, il compilatore potrebbe omettere la generazione del codice per l'espressione.

Nome dell'analisi del codice: IGNOREDBYCOMMA

Esempio

Il codice seguente genera questo avviso:

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

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

Per correggere questo avviso, usare l'operatore AND logico come illustrato nel codice seguente:

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

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

Vedi anche