Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
lançando 'tipo' : um tipo com __clrcall destruidor ou construtor de cópia só pode ser capturado em /clr:pure module
Observações
A opção de compilador /clr:pure foi preterida no Visual Studio 2015 e não tem suporte no Visual Studio 2017.
Quando compilado com /clr (não /clr:pure), o tratamento de exceções espera que as funções de membro em um tipo nativo sejam __cdecl e não __clrcall. Tipos nativos com funções de membro usando __clrcall convenção de chamada não podem ser capturados em um módulo compilado com /clr.
Se a exceção for detetada em um módulo compilado com /clr:pure, você poderá ignorar esse aviso.
Para obter mais informações, consulte /clr (Common Language Runtime Compilation).
Example
O exemplo a seguir gera C4382.
// C4382.cpp
// compile with: /clr /W1 /c
struct S {
__clrcall ~S() {}
};
struct T {
~T() {}
};
int main() {
S s;
throw s; // C4382
S * ps = &s;
throw ps; // OK
T t;
throw t; // OK
}