Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Compilerfehler C2743

'Typ': catch von systemeigenem Typ mit __clrcall-Destruktor oder copy-Konstruktor nicht möglich

Ein mit /clr (nicht mit /clr:pure) kompiliertes Modul hat versucht, eine Ausnahme systemeigenen Typs aufzufangen, wobei der Destruktor bzw. copy-Konstruktor des Typs die __clrcall-Aufrufkonvention verwendet.

Von einer mit /clr (nicht /clr:pure) kompilierten Ausnahmebehandlung wird erwartet, dass es sich bei den Memberfunktionen in einem systemeigenen Typ um __cdecl und nicht um __clrcall handelt. Systemeigene Typen mit Memberfunktionen, die die __clrcall-Aufrufkonvention verwenden, können nicht in einem mit /clr kompilierten Modul abgefangen werden.

Weitere Informationen finden Sie unter /clr (Common Language Runtime-Kompilierung).

Im folgenden Beispiel wird C2743 generiert.

// C2743.cpp
// compile with: /clr
public struct S {
   __clrcall ~S() {}
};

public struct T {
   ~T() {}
};

int main() {
   try {}
   catch(S) {}   // C2743
   // try the following line instead
   // catch(T) {}

   try {}
   catch(S*) {}   // OK
}
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.