编译器警告 C4439
“function”:签名中托管类型函数的定义必须具有 __clrcall 调用约定
编译器隐式地将调用约定替换为 __clrcall
。 若要解决此警告,请删除 __cdecl
或 __stdcall
调用约定。
始终发出 C4439 错误。 可以使用 #pragma warning
或 /wd
关闭此警告;请参阅警告或 /w、/W0、/W1、/W2、/W3、/W4、/w1、/w2、 /w3、/w4、/Wall、/wd、/we、/wo、/Wv、/WX (警告级别)了解详细信息。
示例
以下示例生成 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