This documentation is archived and is not being maintained.

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.

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("u LT -1");
      printf("u !LT -1");
   return 0;