C6287
Note
This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
warning C6287: redundant code: the left and right sub-expressions are identical
This warning indicates that a redundant element was detected in an expression.
It is difficult to judge the severity of this problem without examining the code. A duplicate test on its own is harmless, but the consequences of deleting the second test can be severe. The code should be inspected to ensure that a test was not omitted.
Example
The following code generates this warning:
void f(int x)
{
if ((x == 1) && (x == 1))
{
//logic
}
if ((x != 1) || (x != 1))
{
//logic
}
}
The following code shows various methods to correct this warning:
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
}
}