Compiler Warning C4439

 

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 C4439.

function' : function definition with a managed type in the signature must have a __clrcall calling convention

The compiler implicitly replaced a calling convention with __clrcall. To resolve this warning, remove the __cdecl or __stdcall calling convention.

C4439 is always issued as an error. You can turn off this warning with the #pragma warning or /wd; see warning or /w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (Warning Level) for more information.

The following sample generates C4439.

// C4439.cpp  
// compile with: /clr  
void __stdcall f( System::String^ arg ) {}   // C4439  
void __clrcall f2( System::String^ arg ) {}   // OK  
void f3( System::String^ arg ) {}   // OK  

Show: