警告 C6288
正しくない演算子: > に対する相互包含は常に 0 です。 代わりに || を使用するつもりでしたか?
解説
この警告は、テスト式で変数が 2 つの異なる定数に対してテストされていることを示します。 結果は両方の条件が true であるかによって異なりますが、これは不可能です。 このような場合のコードは、プログラマーの意図が正しく伝わっていないことを示しています。 コードを調べて問題を修正することが重要です。 そうしないと、コードは期待どおりに動作しません。
この問題は、多くの場合、;の||
代わりに; を使用&&
することによって引き起こされますが、意図した場所!=
を使用==
することによっても発生する可能性があります。
コード分析名: MUTUALINCLUSIONOVERANDISFALSE
例
この警告が発生するコード例を次に示します。
void f(int x)
{
if ((x == 1) && (x == 2)) // warning
{
// code ...
}
}
この警告を解決するには、次のコードを使用します。
void f(int x)
{
if ((x == 1) || (x == 2))
{
// logic
}
/* or */
if ((x != 1) && (x != 2))
{
// code ...
}
}
式に副作用がある場合、分析ツールは警告しません。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示