Article ID: 117833
Article Last Modified on 7/5/2005
APPLIES TO
- Microsoft C/C++ Professional Development System 7.0
- Microsoft Visual C++ 1.0 Professional Edition
- Microsoft Visual C++ 1.5 Professional Edition
This article was previously published under Q117833
SYMPTOMS
Compiling the sample code shown below using the C/C++ compilers for MS-DOS
versions 7.0, 8.0, and 8.0c, or the C/C++ 32-bit compiler for Windows NT,
version 8.0, causes the compiler to generate one of the following error
messages:
error C2662: '__vbaseDtor': cannot convert 'this'
pointer from 'const class::DerivedClass __near *'
to 'class::DerivedClass __near *const'
error C2662: '__vbaseDtor' : cannot convert 'this'
pointer from 'const class ::DerivedClass *'
to 'class ::DerivedClass *const '
The error message usually is generated when the program tries to
instantiate a local constant object of a class that is virtually derived
from a base class in which a user-defined destructor is defined.
RESOLUTION
To alleviate the C2662 error, use one of the following workarounds:
STATUS
Microsoft has confirmed this to be a problem in the products and
versions listed above. This problem was corrected in C/C++ compiler version
9.0, included with Visual C++ 32-bit Edition, version 2.0.
Additional query words: 1.00 1.50 7.00 8.00 8.00c
Keywords: kbbug kbfix kbcpponly kbcompiler KB117833