Freigeben über


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

Siehe auch

Referenz

Logical AND Operator: &&

Comma Operator: ,