'extended-attribute' : ignored on left of 'type' when no variable is declared
A __declspec attribute at the beginning of a user-defined type declaration applies to the variable of that type. Warning C4091 indicates no variable is declared:
__declspec(dllimport) class X {}; // generates C4091 // correct: the __declspec attribute applies to varX __declspec(dllimport) class X {} varX;
A __declspec attribute after the class or struct keyword applies to the user defined type (X
in the following example):
class __declspec(dllimport) X {};