警告 C26813
使用“按位和”检查是否设置了标志
注解
具有两个成员值的大多数 enum
类型旨在用作位标志。 因此,你不太希望比较这些标志是否相等。 而是使用位运算提取你感兴趣的位。
代码分析名称:USE_BITWISE_AND_TO_CHEK_ENUM_FLAGS
示例
enum BitWise
{
A = 1,
B = 2,
C = 4
};
void useEqualsWithBitwiseEnum(BitWise a)
{
if (a == B) // Warning C26813: Use 'bitwise and' to check if a flag is set
return;
}
若要解决警告,请使用位运算:
void useEqualsWithBitwiseEnum(BitWise a)
{
if (a & B) // Fixed.
return;
}
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈