C6319
Aktualisiert: November 2007
C6319
Warnung C6319: Bei Verwendung des Komma-Operators in einem getesteten Ausdruck wird das linke Argument ignoriert, wenn es keine Nebeneffekte hat.
Diese Warnung deutet aufgrund der Verwendung eines Komma-Operators (,) in einem Testkontext auf einen ignorierten Unterausdruck hin. Der Komma-Operator weist eine Assoziativität von links nach rechts auf. Das Ergebnis des Komma-Operators ist der letzte ausgewertete Ausdruck. Wenn der linke Ausdruck für den Komma-Operator keine Nebeneffekte hat, lässt der Compiler möglicherweise die Codegenerierung für den Ausdruck aus.
Beispiel
Der folgende Code generiert diese Warnung:
void f()
{
int i;
int x[10];
// code
for ( i = 0; x[i] != 0, x[i] < 42; i++) // warning
{
// code
}
}
Um diese Warnung zu korrigieren, verwenden Sie den logischen AND-Operator, wie im folgenden Code gezeigt:
void f()
{
int i;
int x[10];
// code
for ( i = 0; (x[i] != 0) && (x[i] < 42); i++)
{
// code
}
}