共用方式為


警告 C26827

您是否忘記初始化列舉,或打算使用另一種類型?

備註

在位運算中使用的大部分 enum 類型,預期會有具有兩個乘冪值的成員。 此警告會嘗試尋找未明確指定給列舉常數之值的案例。 它也會發現錯誤列舉類型可能不小心使用的情況。

程式碼分析名稱: ALMOST_BITWISE_ENUM

範例

下列範例程式碼會導致警告 C26827:

enum class AlmostBitWise
{
    A = 1,
    B = 2,
    C = 4,
    D
};

int almostBitwiseEnums(AlmostBitWise a, bool cond) 
{
    return (int)a|(int)AlmostBitWise::A; // Warning C26827: Did you forget to initialize an enum, or intend to use another type?
}

若要修正警告,請將列舉常數初始化為正確的值,或在作業中使用正確的列舉類型。

enum class AlmostBitWise
{
    A = 1,
    B = 2,
    C = 4,
    D = 8
};

int almostBitwiseEnums(AlmostBitWise a, bool cond) 
{
    return (int)a|(int)AlmostBitWise::A; // No warning.
}

另請參閱

C26813
C26828