Поделиться через


Предупреждение компилятора C4439

Function: определение функции с управляемым типом в сигнатуре должно иметь соглашение о вызове __clrcall

Компилятор неявно заменил соглашение __clrcallо вызове на . Чтобы устранить это предупреждение, удалите соглашение или __stdcall соглашение о вызовах__cdecl.

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