Compiler Warning (level 4) C4389

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

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

operator' : signed/unsigned mismatch

An operation involved signed and unsigned variables. This could result in a loss of data.

The following sample generates C4389:

// C4389.cpp  
// compile with: /W4  
#pragma warning(default: 4389)  
  
int main()  
{  
   int a = 9;  
   unsigned int b = 10;  
   if (a == b)   // C4389  
      return 0;  
   else  
      return 0;  
};  

Show: