Compartir a través de


Error del compilador C2346

'función' no se puede compilar como nativa: motivo

El compilador no ha podido compilar una función en MSIL.

Para obtener más información, consulte Pragmas managed y unmanaged, y /clr (compilación con Common Language Runtime).

Para corregir este error

  1. Quite el código de la función que no se puede compilar con MSIL.

  2. No compile el módulo con /clr o marque la función como no administrada con la pragma unmanaged.

Ejemplo

El ejemplo siguiente genera el error C2346.

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

int main()
{
   S s;
}