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.
Auslösen von 'type': Ein Typ mit __clrcall Destruktor oder Kopierkonstruktor kann nur in /clr:pure module abgefangen werden.
Hinweise
Die Option "/clr:pure compiler" ist in Visual Studio 2015 veraltet und wird in Visual Studio 2017 nicht unterstützt.
Bei der Kompilierung mit /clr (nicht /clr:pure) erwartet die Ausnahmebehandlung, dass die Memberfunktionen in einem systemeigenen Typ __cdecl und nicht __clrcall werden. Systemeigene Typen mit Memberfunktionen, die die Aufrufkonvention verwenden __clrcall , können nicht in einem Modul erfasst werden, das mit "/clr" kompiliert wurde.
Wenn die Ausnahme in einem Modul erfasst wird, das mit "/clr:pure" kompiliert wurde, können Sie diese Warnung ignorieren.
Weitere Informationen finden Sie unter /clr (Common Language Runtime-Kompilierung).
Beispiel
Im folgenden Beispiel wird C4382 generiert.
// C4382.cpp
// compile with: /clr /W1 /c
struct S {
__clrcall ~S() {}
};
struct T {
~T() {}
};
int main() {
S s;
throw s; // C4382
S * ps = &s;
throw ps; // OK
T t;
throw t; // OK
}