FIX: C2662: "'__vbaseDtor' cannot convert 'this' pointer" (117833)
The information in this article applies to:
- Microsoft C/C++ for MS-DOS 7.0
- Microsoft Visual C++ 1.0
- Microsoft Visual C++ 1.5
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.
Modification Type: | Minor | Last Reviewed: | 7/5/2005 |
---|
Keywords: | kbbug kbCompiler kbCPPonly kbfix KB117833 |
---|
|