Delen via


Compilerfout C2743

'type': kan geen systeemeigen type vangen met __clrcall destructor of kopieerconstructor

Opmerkingen

Een module die is gecompileerd met /clr heeft geprobeerd een uitzondering van een nativetype te ondervangen, waarbij de destructor of kopieerconstructor van het type gebruikmaakt van de aanroepconventie __clrcall.

Bij het compileren met /clr verwacht uitzonderingsafhandeling dat de lidfuncties in een natuurlijk type __cdecl en niet __clrcall zijn. Systeemeigen typen met lidfuncties die gebruikmaken van __clrcall de aanroepconventie kunnen niet worden opgevangen in een module die is gecompileerd met /clr.

Zie /clr (Common Language Runtime Compilation) voor meer informatie.

Voorbeeld

In het volgende voorbeeld wordt C2743 gegenereerd.

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