C6287
upozornění C6287: redundantní kód: výraz na levé i pravé straně je shodný
Toto upozornění znamená, že byl ve výrazu nalezen redundantní prvek.
Je obtížné posoudit závažnost tohoto problému, bez prozkoumání kódu.Duplicitní test je sám o sobě neškodný, ale odstranění druhého testu může mít vážné důsledky.Kód by měl být prohlédnut a mělo by být zajištěno, že test nebyl vynechán.
Příklad
Následující kód generuje toto upozornění:
void f(int x)
{
if ((x == 1) && (x == 1))
{
//logic
}
if ((x != 1) || (x != 1))
{
//logic
}
}
Následující kód ukazuje různé metody opravy tohoto upozornění:
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
}
}