We recommend using Visual Studio 2017

Compiler Warning (level 4) C4296


The latest version of this topic can be found at Compiler Warning (level 4) C4296.

operator' : expression is always false

An unsigned variable was used in a comparison operation with zero.

This warning is off by default. See Compiler Warnings That Are Off by Default for more information.

The following sample generates C4296:

// C4296.cpp  
// compile with: /W4  
#pragma warning(default : 4296)  
int main()  
   unsigned int u = 9;  
   if (u < 0)    // C4296  
   if (u >= 0)   // C4296