Warnung C6319
Die Verwendung des Kommasoperators in einem getesteten Ausdruck bewirkt, dass das linke Argument ignoriert wird, wenn es keine Nebenwirkungen hat.
Hinweise
Diese Warnung gibt einen ignorierten Unterausdruck im Testkontext aufgrund des Kommasoperators (,
) an. Der Operator Komma weist eine Assoziativität von links nach rechts auf. Das Ergebnis des Kommasoperators ist der letzte ausgewertete Ausdruck. Wenn der linke Ausdruck zum Kommaoperator keine Nebenwirkungen hat, lässt der Compiler möglicherweise die Codegenerierung für den Ausdruck aus.
Codeanalysename: IGNOREDBYCOMMA
Beispiel
Der folgende Code generiert diese Warnung:
void f()
{
int i;
int x[10];
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 dargestellt:
void f()
{
int i;
int x[10];
for ( i = 0; (x[i] != 0) && (x[i] < 42); i++)
{
// code
}
}