Partager via


Erreur du compilateur C3808

'type' : une classe avec l’attribut ComImport ne peut pas définir le membre 'member', seules les fonctions abstraites ou dllimport sont autorisées

Notes

Type dérivé de ComImportAttribute ne peut pas définir de membre.

Les options du compilateur /clr :pure et /clr :safe sont déconseillées dans Visual Studio 2015 et non prises en charge dans Visual Studio 2017.

Exemple

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

// C3808.cpp
// compile with: /c /clr:pure user32.lib
using namespace System::Runtime::InteropServices;

[System::Runtime::InteropServices::ComImportAttribute()]
ref struct S1 {
   int f() {}   // C3808
   virtual int g() abstract;   // OK

   [DllImport("msvcrt.dll")]
   int printf(System::String ^, int i);   // OK
};