Предупреждение C6289
Неправильный оператор: взаимное исключение
||
всегда является ненулевой константой. Вы намерены использовать&&
вместо этого?
Замечания
Это предупреждение указывает, что в тестовом выражении переменная проверяется как неравная с двумя разными константами. Результат зависит от того, является ли условие истинным, но оно всегда оценивается как истинное.
Эта проблема часто вызвана использованием ||
вместо &&
нее, но также может быть вызвана использованием !=
места ==
назначения.
Имя анализа кода: MUTUALEXCLUSIONOVERORISTRUE
Пример
Следующий код создает это предупреждение:
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
}
}
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по