Compiler Warning (level 4) C4365


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

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

action' : conversion from 'type_1' to 'type_2', signed/unsigned mismatch

For example, you tried to convert an unsigned value to a signed value.

C4365 is off by default. For more information, see Compiler Warnings That Are Off by Default.

The following sample generates C4365.

// C4365.cpp  
// compile with: /W4  
#pragma warning(default:4365)  
int f(int) { return 0; }  
void Test(size_t i) {}  
int main() {  
   unsigned int n = 10;  
   int o = 10;  
   f(n);   // C4365  
   f(o);   // OK  
   Test( -19 );   // C4365