C6281
Note
This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
Warning 6281 - incorrect order of operations: relational operators have higher precedence than bitwise operators
This warning indicates a possible error in the operator precedence. This might produce incorrect results. You should check the precedence and use parentheses to clarify the intent. Relational operators (<, >, <=, >=, ==, != ) have higher precedence than bitwise operators (& | ^).
Example
The following code generates this warning:
#include <stdlib.h>
#define FORMAT 1
#define TYPE 2
void f(int input)
{
if (FORMAT & TYPE != input)
{
// code...
}
}
The following code uses parentheses to correct this warning:
#include <stdlib.h>
#define FORMAT 1
#define TYPE 2
void f(int input)
{
if ((FORMAT & TYPE) != input)
{
// code...
}
}