C6287
Warnung C6287: Redundanter Code: Die Teilausdrücke links und rechts sind identisch.
Diese Warnung gibt an, dass in einem Ausdruck ein redundantes Element erkannt wurde.
Ohne den Code zu untersuchen, ist es schwierig, die Auswirkungen dieses Problems zu beurteilen. Ein doppelter Test an sich stellt kein Risiko dar, aber die Folgen, die das Löschen des zweiten Tests mit sich bringt, können schwerwiegend sein. Der Code sollte überprüft werden, um sicherzustellen, dass kein Test weggelassen wurde.
Beispiel
Der folgende Code generiert diese Warnung:
void f(int x)
{
if ((x == 1) && (x == 1))
{
//logic
}
if ((x != 1) || (x != 1))
{
//logic
}
}
Im folgenden Code werden verschiedene Methoden zum Korrigieren dieser Warnung dargestellt:
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
}
}