C6314
警告 C6314: 不正確的作業順序: 位元 OR 的優先順序高於條件運算運算子。 加入括號來釐清目的。
這則訊息表示包含位元 OR 運算子 (|) 的運算式在條件運算 (?:) 的測試運算式中偵測到。
條件運算子的優先順序會比位元運算子還低。 如果測試運算式必須包含 OR 運算子,則必須在條件運算式前後加上括號。
範例
下列程式碼將產生出這個警告:
int SystemState();
int f(int SignalValue)
{
return SystemState() | (SignalValue != 0) ? 1 : 0;
}
若要更正這則警告,請使用下列程式碼:
int SystemState();
int f(int SignalValue)
{
return SystemState() | ((SignalValue != 0) ? 1 : 0);
}