C6336

 

For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.

warning C6336: arithmetic operator has precedence over question operator, use parentheses to clarify intent

This warning indicates a possible operator precedence problem. The '+','-','*' and '/' operators have precedence over the '?' operator. If the precedence in the expression is not correct, use parentheses to change the operator precedence.

The following code generates this warning:

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

To correct this warning, add parenthesis as shown in the following code:

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

C++ Built-in Operators, Precedence and Associativity

Show: