共用方式為


警告 C26813

使用 『bitwise and』 來檢查是否已設定旗標

備註

具有兩個成員值之乘冪的大部分 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;
}

另請參閱

C26827
C26828