Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
„function“: ein verwalteter Typ oder eine verwaltete Funktion kann nicht in einer nicht verwalteten Funktion verwendet werden
Bemerkungen
Funktionen mit Inlineassembly oder Setjmp können keine Werttypen oder verwalteten Klassen enthalten. Um diesen Fehler zu beheben, entfernen Sie die Inlineassembly und setjmp oder entfernen Sie die verwalteten Objekte.
C3821 kann auch auftreten, wenn Sie versuchen, den automatischen Speicher in einer Vararg-Funktion zu verwenden. Weitere Informationen finden Sie unter Variable Argument Lists (...) (C++/CLI) und C++-Stapelsemantik für Referenztypen.
Beispiele
Im folgenden Beispiel wird C3821 generiert.
// C3821a.cpp
// compile with: /clr /c
public ref struct R {};
void test1(...) {
R r; // C3821
}
Im folgenden Beispiel wird C3821 generiert.
// C3821b.cpp
// compile with: /clr
// processor: /x86
ref class A {
public:
int i;
};
int main() {
// cannot use managed classes in this function
A ^a;
__asm {
nop
}
} // C3821