Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
'type': não é possível usar catch em um tipo nativo com construtor de cópia ou destruidor __clrcall
Observações
Um módulo compilado com /clr tentou capturar uma exceção de tipo nativo em que o destruidor do tipo ou construtor de cópia usa a convenção de chamada __clrcall.
Quando compilado com /clr, o tratamento de exceção espera que as funções membro em um tipo nativo sejam __cdecl, e não __clrcall. Tipos nativos com funções membro usando a convenção de chamada __clrcall não podem ser capturados em um módulo compilado com /clr.
Para obter mais informações, consulte /clr (compilação de Common Language Runtime).
Exemplo
O exemplo a seguir gera 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
}