C6314
警告 C6314:运算顺序不正确: 按位或的优先级高于条件表达式运算符。 请使用括号明确指定优先级
此消息意味着在条件运算 (?:) 的被测试表达式中检测到包含按位或运算符 (|) 的表达式。
条件运算符的优先级比按位运算符的优先级低。 如果被测试表达式中应当包含按位或运算符,则应当在条件表达式的两侧加上括号。
示例
下面的代码生成此警告:
int SystemState();
int f(int SignalValue)
{
return SystemState() | (SignalValue != 0) ? 1 : 0;
}
若要更正此警告,请使用下面的代码:
int SystemState();
int f(int SignalValue)
{
return SystemState() | ((SignalValue != 0) ? 1 : 0);
}