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.
'função': o tipo ou função gerenciada não pode ser usada em uma função não gerenciada
Observações
As funções com assembly embutido ou setjmp não podem conter tipos de valor ou classes gerenciadas. Para corrigir este erro, remova o assembly embutido e setjmp ou remova os objetos geridos.
C3821 também pode ocorrer se você tentar usar o armazenamento automático em uma função vararg. Para obter mais informações, consulte Variable Argument Lists (...) (C++/CLI) e C++ Stack Semantics for Reference Types.
Examples
O exemplo a seguir gera C3821.
// C3821a.cpp
// compile with: /clr /c
public ref struct R {};
void test1(...) {
R r; // C3821
}
O exemplo a seguir gera C3821.
// C3821b.cpp
// compile with: /clr
// processor: /x86
ref class A {
public:
int i;
};
int main() {
// cannot use managed classes in this function
A ^a;
__asm {
nop
}
} // C3821