Partager via


Erreur du compilateur C2346

'function' ne peut pas être compilé comme natif : raison

Le compilateur n’a pas pu compiler une fonction sur MSIL.

Pour plus d’informations, consultez managed, unmanaged and /clr (Common Language Runtime Compilation).

Pour corriger cette erreur

  1. Supprimez le code de la fonction qui ne peut pas être compilé dans MSIL.

  2. Ne compilez pas le module avec /clr, ou marquez la fonction comme non managée avec le pragma non managé.

Exemple

L’exemple suivant génère l’erreur C2346.

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

int main()
{
   S s;
}