次の方法で共有


C6288

警告 C6288: 不適切な演算子です: && を使用した相互包括は常に 0 です。|| を使用するつもりでしたか?

この警告は、テスト式の中で 1 つの変数が 2 つの異なる定数に対してテストされ、結果は両方の条件が true であることに依存していることを示しています。このような場合、コードにプログラマの意図が正しく反映されていません。必ずコードを調査して、問題を修正してください。そうしなければ、コードは意図したとおりに動作しません。

一般的に、この問題は || の代わりに && を使用することで発生しますが、!= を使用する場所で == を使用した場合でも発生します。

使用例

この警告が発生するコード例を次に示します。

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 ...
    }
}

式に副作用が伴う場合は、警告は表示されません。