C6314
Aktualisiert: November 2007
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);
}