C6289
Обновлен: Ноябрь 2007
C6289
Предупреждение C6289: неверный оператор. Взаимное исключение || всегда дает ненулевую константу. Предполагалось использовать "&&"?
Это предупреждение указывает, что в тестовом выражении переменная проверяется для двух различных констант, а результат зависит от того, имеет ли любая из этих констант значение true. Результат всегда равен true.
Это обычно возникает из-за использования || вместо &&, но также может возникнуть из-за использования != вместо ==.
Пример
Это предупреждение создается следующим кодом:
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
}
}