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