C6314
Warnung C6314: Falsche Operationsreihenfolge: Der bitweise Operator OR hat Vorrang vor dem bedingten Ausdrucksoperator. Verdeutlichen Sie Ihre Absicht mit Klammern.
Diese Meldung gibt an, dass ein Ausdruck, der einen bitweisen OR-Operator enthält (|) im getesteten Ausdruck einer bedingten Operation (?:) erkannt wurde.
Bitweise Operatoren haben Vorrang vor dem bedingten Operator. Wenn der getestete Ausdruck den bitweisen Operator OR 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);
}