共用方式為


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);
} 

請參閱

參考

位元 (含) 或運算子: |

條件運算子: 嗎?: