警告 C26813
フラグが設定されている場合は、"bitwise and" を使用してチェックする
解説
2 つのメンバー値の累乗を持つほとんどの 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 の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示