Freigeben über


Warnung C6314

Falsche Reihenfolge von Vorgängen: bitweise oder hat eine höhere Priorität als der Operator für bedingten Ausdruck. Verdeutlichen Sie Ihre Absicht mit Klammern.

Hinweise

Diese Meldung gibt an, dass ein Ausdruck, der einen bitweisen Operator (|) enthält, im getesteten Ausdruck eines bedingten Vorgangs (?:) erkannt wurde.

Der bedingte Operator hat eine niedrigere Priorität als bitweise Operatoren. Wenn der getestete Ausdruck den Bitweise- oder Operator enthalten soll, sollten Klammern um den bedingten Ausdruck herum hinzugefügt werden.

Codeanalysename: BITORVSQUESTION

Beispiel

Der folgende Code generiert diese Warnung:

int SystemState();

int f(int SignalValue)
{
  return SystemState() | (SignalValue != 0) ? 1 : 0;
}

So korrigieren Sie die Warnung unter Verwendung des folgenden Codes

int SystemState();

int f(int SignalValue)
{
  return SystemState() | ((SignalValue != 0) ? 1 : 0);
}

Siehe auch