警告 C26827
列挙型の初期化を忘れたか、別の型を使用するつもりでしたか?
解説
ビットごとの演算で使用されるほとんどの enum
型には、2 の累乗の値を持つメンバーが必要です。 この警告は、列挙定数に値が明示的に指定されていないケースを見つけようとします。 また、誤った列挙型が誤って使用された可能性がある場合も検出します。
コード分析名: 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.
}
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示