C6287
Предупреждение C6287: избыточный код: левое и правое подчиненные выражения идентичны.
Данное предупреждение означает, что в выражении обнаружен избыточный элемент.
Серьезность данной проблемы можно определить только после изучения кода. Сама по себе повторяющая проверка не является опасной, однако удаление второй проверки может привести к тяжелым последствиям. Следует исследовать код и убедиться в том, что проверка не пропущена.
Пример
Данное предупреждение создается в следующем коде:
void f(int x)
{
if ((x == 1) && (x == 1))
{
//logic
}
if ((x != 1) || (x != 1))
{
//logic
}
}
В следующем коде показаны различные методы устранения этого предупреждения:
void f(int x, int y)
{
/* Remove the redundant sub-expression: */
if (x == 1)
{
// logic
}
if (x != 1)
{
// logic
}
/* or test the missing variable: */
if ((x == 1) && (y == 1))
{
// logic
}
if ((x != 1) || (y != 1))
{
// logic
}
}