C6319
Aggiornamento: novembre 2007
C6319
avviso C6319: se si utilizza l'operatore virgola in un'espressione testata, l'argomento a sinistra viene ignorato se privo di effetti collaterali
L'avviso indica una sottoespressione ignorata in un 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 a sinistra dell'operatore virgola non ha effetti collaterali, il compilatore può omettere la generazione del codice per l'espressione.
Esempio
Il codice seguente genera questo avviso:
void f()
{
int i;
int x[10];
// code
for ( i = 0; x[i] != 0, x[i] < 42; i++) // warning
{
// code
}
}
Per risolvere il problema, utilizzare l'operatore logico AND come riportato nel codice seguente:
void f()
{
int i;
int x[10];
// code
for ( i = 0; (x[i] != 0) && (x[i] < 42); i++)
{
// code
}
}