Compiler Error C2487

'identifier' : member of dll interface class may not be declared with dll interface

You can declare a whole class, or certain members of a non-DLL interface class, with DLL interface. You cannot declare a class with DLL interface and then declare a member of that class with DLL interface.

The following sample generates C2487:

// C2487.cpp
// compile with: /c
class __declspec(dllexport) C
{
    __declspec(dllexport) void func() {}   // C2487
};

To resolve this error, remove the DLL interface on the class or the members.

See also

Using dllimport and dllexport in C++ classes