Errore del compilatore C2743
'type': impossibile intercettare un tipo nativo con __clrcall distruttore o costruttore di copia
Un modulo compilato con /clr ha tentato di intercettare un'eccezione di tipo nativo e in cui il distruttore o il costruttore di copia del tipo usa __clrcall
la convenzione di chiamata.
Quando viene compilato con /clr, la gestione delle eccezioni prevede che le funzioni membro in un tipo nativo siano __cdecl e non __clrcall. I tipi nativi con funzioni membro che usano __clrcall
la convenzione di chiamata non possono essere rilevati in un modulo compilato con /clr.
Per altre informazioni, vedere /clr (Compilazione Common Language Runtime).
Esempio
L'esempio seguente genera l'errore 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
}