Freigeben über


C6314

C6314

Warnung C6314: Falsche Operationsreihenfolge: Der bitweise OR-Operator hat Vorrang vor dem bedingten Ausdrucksoperator. Verdeutlichen Sie Ihre Absicht mit Klammern.

Dieses Warnung gibt an, dass ein Ausdruck mit einem bitweisen OR-Operator (|) im getesteten Ausdruck einer bedingten Operation (?:) entdeckt wurde.

Bitweise Operatoren haben Vorrang vor dem bedingten Operator. Wenn der getestete Ausdruck den bitweisen OR-Operator enthalten soll, schließen die den bedingten Ausdruck in Klammern ein.

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

Referenz

Bitwise Inclusive OR Operator: |
Conditional Operator: ? :