Compiler Error C3395


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

The latest version of this topic can be found at Compiler Error C3395.

function' : __declspec(dllexport) cannot be applied to a function with the __clrcall calling convention

__declspec(dllexport) and __clrcall are not compatible. For more information, see dllexport, dllimport.

The following sample generates C3395:

// C3395.cpp  
// compile with: /clr /c  
__declspec(dllexport) void __clrcall Test(){}   // C3395  
void __clrcall Test2(){}   // OK  
__declspec(dllexport) void Test3(){}   // OK