C6319
Warnung C6319: Bei Verwendung des Operators Komma in einem getesteten Ausdruck wird das linke Argument ignoriert, wenn es keine Nebeneffekte hat.
Diese Warnung deutet aufgrund der Verwendung eines Operators Komma (,) in einem Testkontext auf einen ignorierten Unterausdruck hin. Der Operator Komma weist eine Assoziativität von links nach rechts auf. Das Ergebnis des Operators Komma ist der letzte ausgewertete Ausdruck. Wenn der linke Ausdruck für den Operator Komma 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 Operator AND, wie im folgenden Code gezeigt:
void f()
{
int i;
int x[10];
// code
for ( i = 0; (x[i] != 0) && (x[i] < 42); i++)
{
// code
}
}