Freigeben über


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

Siehe auch