C6289
Aviso C6289: Operador incorreto: exclusão mútua sobre || sempre é uma constante diferente de zero.Você pretendia usar && em vez disso?
Este aviso indica que uma expressão de teste uma variável está sendo testada em relação a duas constantes diferentes e o resultado depende de qualquer condição seja verdadeira.Isso sempre é avaliado como true.
Esse problema é causado normalmente por meio de || em vez de &&, mas também podem ser causados por meio de != onde == o objetivo era.
Exemplo
O código a seguir gera este aviso:
void f(int x)
{
if ((x != 1) || (x != 3))
{
// code
}
}
Para corrigir esse aviso, use o seguinte código:
void f(int x)
{
if ((x != 1) && (x != 3))
{
// code
}
}
/* or */
void f(int x)
{
if ((x == 1) || (x == 3))
{
// code
}
}