警告 C6289
正しくない演算子: 相互除外
||
は常に 0 以外の定数です。 代わりに&&
を使用するつもりでしたか?
解説
この警告は、テスト式で変数が 2 つの異なる定数と等しくないとしてテストされていることを示します。 結果は、いずれかの条件が true であるかによって異なりますが、常に true と評価されます。
この問題は、多くの場合、代わりに&&
使用||
することによって発生しますが、意図した場所==
を使用!=
することによっても発生する可能性があります。
コード分析名: MUTUALEXCLUSIONOVERORISTRUE
例
この警告が発生するコード例を次に示します。
void f(int x)
{
if ((x != 1) || (x != 3))
{
// code
}
}
この警告を解決するには、次のコードを使用します。
void f(int x)
{
if ((x != 1) && (x != 3))
{
// code
}
}
/* or */
void f(int x)
{
if ((x == 1) || (x == 3))
{
// code
}
}
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示