C6281

警告 6281 - 运算顺序不正确: 关系运算符的优先级高于位运算符

此警告意味着运算符的优先级可能有误。 这可能产生错误的结果。 应当检查优先级并使用括号来阐明需要的优先级。 关系运算符(<、>、<=、>=、==、!=)的优先级高于按位运算符 (& | ^)。

示例

下面的代码生成此警告:

#include <stdlib.h>
#define FORMAT 1
#define TYPE 2

void f(int input)
{
  if (FORMAT & TYPE != input)
  {
    // code...
  }
}

下面的代码使用括号来更正此警告:

#include <stdlib.h>
#define FORMAT 1
#define TYPE 2

void f(int input)
{
  if ((FORMAT & TYPE) != input)
  {
    // code...
  }
}

请参见

参考

编译器警告(等级 3)C4554