C6287
aviso C6287: Código redundante: as subexpressões esquerda e direita são idênticas
Esse aviso indica que um elemento redundante esteve detectado em uma expressão.
É difícil julgar a severidade esse problema sem examinar o código.Um teste duplicado em seus próprios é inofensivo, mas as consequências da exclusão do segundo teste podem ser severas.O código deve ser inspecionado para garantir que um teste não foi omitido.
Exemplo
O código a seguir gera este aviso:
void f(int x)
{
if ((x == 1) && (x == 1))
{
//logic
}
if ((x != 1) || (x != 1))
{
//logic
}
}
O código a seguir mostra vários métodos para corrigir esse aviso:
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
}
}