Advertencia C6287

Código redundante: las subexpresiones izquierda y derecha son idénticas

Comentarios

Esta advertencia se genera cuando una expresión contiene lógica redundante. La advertencia puede indicar un error lógico. Por ejemplo, el uso accidental de la variable incorrecta. También puede ser una prueba redundante que se puede quitar. Inspeccione el código para comprobar que no hay ningún error lógico.

Nombre del análisis de código: REDUNDANTTEST

Ejemplo

El código siguiente genera esta advertencia:

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

En el código siguiente se muestran varias maneras de corregir esta advertencia:

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)
  {
     // ...
  }
}