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