次の方法で共有


警告 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
  }
}