Condividi tramite


Errore del compilatore C3808

'type': una classe con l'attributo ComImport non può definire il membro 'member', sono consentite solo funzioni astratte o dllimport

Osservazioni:

Tipo derivato da ComImportAttribute non può definire un membro.

Le opzioni del compilatore /clr:pure e /clr:safe sono deprecate in Visual Studio 2015 e non supportate in Visual Studio 2017.

Esempio

L'esempio seguente genera l'errore 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
};