Udostępnij za pośrednictwem


C6287

Ostrzeżenie C6287: nadmiarowy kod: sub-expressions lewej i prawej są identyczne

To ostrzeżenie wskazuje, że element nadmiarowe został wykryty w wyrażeniu.

Trudno ocenić stopień ten problem bez konieczności sprawdzania kodu.Zduplikowane badania na swój własny jest nieszkodliwe, ale konsekwencje usuwanie drugie badanie może być surowe.Kod powinien inspekcji w celu zapewnienia, że test nie został pominięty.

Przykład

Poniższy kod generuje ostrzeżenie to:

void f(int x)
{
  if ((x == 1) && (x == 1)) 
  {
    //logic 
  }
  if ((x != 1) || (x != 1))
  {
    //logic
  }
}

Poniższy kod ilustruje różne metody, aby poprawić to ostrzeżenie:

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
  }
}