Предупреждение C6287

Избыточный код: левые и правые вложенные выражения идентичны

Замечания

Это предупреждение создается, когда выражение содержит избыточность логики. Предупреждение может указывать на ошибку логики. Например, случайно использование неправильной переменной. Это также может быть избыточный тест, который можно удалить. Проверьте код, чтобы убедиться, что ошибка логики отсутствует.

Имя анализа кода: REDUNDANTTEST

Пример

Следующий код создает это предупреждение:

void f(int x, int y)
{
  // comparing against x twice is suspicious, should the second comparison use y?
  if ((x == 1) && (x == 1))
  {
    //...
  }
}

В следующем коде показаны различные способы исправления этого предупреждения:

void f(int x, int y)
{
  // Fixed the second comparison to use y
  if ((x == 1) && (y == 1))
  {
     // ...
  }
  
  // If the second comparison was unnecessary it could be removed
  if (x == 1)
  {
     // ...
  }
}