Compartilhar via


Erro do Compilador C2346

A 'função' não pode ser compilada como nativa: motivo

O compilador não pôde compilar uma função no MSIL.

Para obter mais informações, consulte gerenciado, não gerenciado e /clr (Compilação do Common Language Runtime).

Para corrigir este erro

  1. Remova o código na função que não pode ser compilada no MSIL.

  2. Não compile o módulo com /clr ou marque a função como não gerenciada com o pragma não gerenciado.

Exemplo

O seguinte exemplo gera o erro C2346.

// C2346.cpp
// processor: x86
// compile with: /clr
// C2346 expected
struct S
{
   S()
   {
      { __asm { nop } }
   }
   virtual __clrcall ~S() { }
};

int main()
{
   S s;
}