C6336

警告 C6336:算术运算符的优先级高于问号运算符,请使用括号明确指定优先级

此警告意味着可能存在运算符优先级问题。 “+”、“-”、“*”和“/”运算符的优先级高于“?”运算符。 如果表达式中的优先级有误,应使用括号来更改运算符的优先级。

示例

下面的代码生成此警告:

int Count();

void f(int flag)
{
  int result;
  result = Count() + flag ? 1 : 2;
  // code...
}

若要更正此警告,请如下面的代码所示添加括号:

int Count();

void f(int flag)
{
  int result;
  result = Count() + (flag ? 1 : 2);
  // code...
}

请参见

参考

Operator Precedence and Associativity