C6287
C6287 Uyarı: artıklı kod: sağ ve sol sub-expressions özdeş
Bu uyarıyı bir deyim içinde bir yedek öğe algılandı gösterir.
Bu sorunun ciddiyetine kodunu inceleyerek olmadan miktarını kararlaştırmak zordur.Yinelenen bir sınama kendi başına zararsız olduğu halde silme ikinci sınama sonuçlarını ciddi olabilir.Kod, bir test değil unutulmuş sağlamak için denetlenecek.
Örnek
Aşağıdaki kod, bu uyarı oluşturur:
void f(int x)
{
if ((x == 1) && (x == 1))
{
//logic
}
if ((x != 1) || (x != 1))
{
//logic
}
}
Aşağıdaki kod bu uyarıyı düzeltmek için çeşitli yöntemler gösterir:
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
}
}