警告 C6281
操作の順序が正しくない: 関係演算子の方がビットごとの演算子よりも優先順位が高い
解説
この警告は、演算子の優先順位でエラーが発生する可能性があり、これによって正しくない結果が生じる可能性があることを示します。 優先順位を確認し、かっこを使用して意図を明確にする必要があります。 ビットごとの演算子 (&
、|
、^
) よりも関係演算子 (<
、>
、<=
、>=
、==
、!=
) が優先されます。
コード分析名: BITWISERELATIONPRECEDENCEERROR
例
この警告が発生するコード例を次に示します。
#include <stdlib.h>
#define FORMAT 1
#define TYPE 2
void f(int input)
{
if (FORMAT & TYPE != input)
{
// code...
}
}
次のコードでは、この警告を解決するためにかっこを使用しています。
#include <stdlib.h>
#define FORMAT 1
#define TYPE 2
void f(int input)
{
if ((FORMAT & TYPE) != input)
{
// code...
}
}
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示