Compiler Warning (level 3) C4287
The latest version of this topic can be found at Compiler Warning (level 3) C4287.
operator' : unsigned/negative constant mismatch
An unsigned variable was used in an operation with a negative number.
This warning is off by default. See Compiler Warnings That Are Off by Default for more information.
Example
The following sample generates C4287:
// C4287.cpp
// compile with: /W3
#pragma warning(default : 4287)
#include <stdio.h>
int main()
{
unsigned int u = 1;
if (u < -1) // C4287
printf_s("u LT -1");
else
printf_s("u !LT -1");
return 0;
}