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 ...
}
}
式に副作用が伴う場合は、警告は表示されません。