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