Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
'return_type/args': kan geen functie oproepen met de __clrcall-aanroepconventie vanuit eigen code
Opmerkingen
Een functie die is gemarkeerd met de __clrcall aanroepende conventie kan niet worden aangeroepen vanuit systeemeigen (onbeheerde) code.
return_type/args is de naam van de functie of het type van de __clrcall functie die u probeert aan te roepen. Een type wordt gebruikt wanneer u een functiepointer aanroept.
Als u een beheerde functie wilt aanroepen vanuit een systeemeigen context, kunt u een wrapper-functie toevoegen waarmee de __clrcall functie wordt aangeroepen. U kunt ook het CLR-marshalingmechanisme gebruiken; zie Instructies voor: Function Pointers marshalen met PInvoke voor meer informatie.
Example
In het volgende voorbeeld wordt C3642 gegenereerd:
// 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
}