共用方式為


C6314

更新:2007 年 11 月

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

請參閱

參考

Bitwise Inclusive OR Operator: |

Conditional Operator: ? :