Sdílet prostřednictvím


Chyba kompilátoru C2743

'type' : nemůže zachytit nativní typ pomocí __clrcall destruktoru nebo konstruktoru kopírování

Poznámky

Modul zkompilovaný pomocí /clr se pokusil zachytit výjimku nativního typu a kde konstruktor typu destruktor nebo konstruktor kopírování používá __clrcall konvenci volání.

Při kompilaci pomocí /clr očekává zpracování výjimek členské funkce v nativním typu __cdecl a ne __clrcall. Nativní typy s členskými funkcemi využívající __clrcall konvenci volání nelze zachytit v modulu zkompilovaném pomocí /clr.

Další informace naleznete v tématu /clr (Common Language Runtime Compilation).

Příklad

Následující příklad vygeneruje C2743.

// 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
}