FIX: Access Violation When Using Local Static Const Objects
Article ID: 124291
Article Last Modified on 10/24/2003
APPLIES TO
- Microsoft Visual C++ 1.0 Professional Edition
- Microsoft Visual C++ 2.0 Professional Edition
This article was previously published under Q124291
SYMPTOMS
Instantiating a class object that is defined as a local static const may
cause runtime access violations. For example, if you run the sample code
listed in the "More Information" section of this article, it triggers the
system error dialog box to appear with either the application error or the
following text at run time:
Unhandled Exception in xxxx.exe: 0xC0000005: Access Violation
RESOLUTION
To work around this problem, use one of these suggestions:
- Remove the const declaration from the local static class object.
-or-
- Do not instantiate the object as static.
-or-
- Instantiate a global static const object instead of a local one.
STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. This problem was corrected in Microsoft
Visual C++, 32-bit Edition, version 4.0.
Additional query words: 9.00 8.00 1.00 2.00
Keywords: kbbug kbfix KB124291