C6289
upozornění C6289: Nesprávný operátor: vzájemné vyloučení přes || je vždy nenulová konstanta.Měli jste místo toho v úmyslu použít &&?
Toto upozornění znamená, že je v testovacím výrazu testována proměnná oproti dvěma konstantám a výsledek závisí na tom, zda je jedna z podmínek pravdiváVždy vyhodnoceno jako TRUE.
Tento problém je obvykle způsoben použitím operátoru || namísto &&, může být také však způsoben operátorem != tam, kde byl zamýšlen operátor ==.
Příklad
Následující kód generuje toto upozornění:
void f(int x)
{
if ((x != 1) || (x != 3))
{
// code
}
}
Pro opravu tohoto upozornění použijte následující kód:
void f(int x)
{
if ((x != 1) && (x != 3))
{
// code
}
}
/* or */
void f(int x)
{
if ((x == 1) || (x == 3))
{
// code
}
}