Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
'return_type/args': nelze volat funkci s __clrcall konvencí volání z nativního kódu
Poznámky
Funkci označenou konvencí volání __clrcall nelze volat z nativního (nespravovaného) kódu.
return_type/args je název funkce nebo typ __clrcall funkce, kterou se pokoušíte volat. Typ se používá při volání ukazatelem funkce.
Pokud chcete volat spravovanou funkci z nativního kontextu, můžete přidat funkci obálky, která funkci zavolá __clrcall . Nebo můžete použít mechanismus zařazování CLR; Viz Postupy: Zařazování ukazatelů na funkce pomocí PInvoke další informace.
Example
Následující příklad generuje C3642:
// C3642.cpp
// compile with: /clr
using namespace System;
struct S {
void Test(String ^ s) { // CLR type in signature, implicitly __clrcall
Console::WriteLine(s);
}
void Test2(char * s) {
Test(gcnew String(s));
}
};
#pragma unmanaged
int main() {
S s;
s.Test("abc"); // C3642
s.Test2("abc"); // OK
}