Article ID: 127900
Article Last Modified on 7/5/2005
APPLIES TO
- Microsoft Visual C++ 2.0 Professional Edition
- Microsoft Visual C++ 2.1
- Microsoft Visual C++ 4.0 Standard Edition
- Microsoft Visual C++ 4.1 Subscription
- Microsoft Visual C++ 4.2 Enterprise Edition
- Microsoft Visual C++ 4.2 Professional Edition
- Microsoft Visual C++ 5.0 Enterprise Edition
- Microsoft Visual C++ 5.0 Professional Edition
- Microsoft Visual C++ 6.0 Enterprise Edition
- Microsoft Visual C++ 6.0 Professional Edition
- Microsoft Visual C++ 6.0 Standard Edition
This article was previously published under Q127900
SYMPTOMS
Using _declspec(dllexport) or _declspec(dllimport) on a class with multiple static variable definitions may cause a C2487 error to be generated on all but the first variable. For example, consider this class declaration:
class _declspec(dllexport) MyClass { public: static int i,j,k; };
This class declaration generates these errors:
RESOLUTION
Move each static variable declaration to its own line. To fix the above class so that it will compile cleanly, use this:
class _declspec(dllexport) MyClass { public: static int i; static int j; static int k; };
STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.
Additional query words: kbVC400bug dllimport export afxdll 9.00 9.10 10.00 10.10 10.20
Keywords: kbbug kblangcpp KB127900