Freigeben über


C6319

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
  }
} 

Siehe auch

Referenz

Logical AND Operator: &&
Comma Operator: ,