Microsoft KB Archive/141457

= FIX: C1001 When Calling Base Class Conversion Operator =

Article ID: 141457

Article Last Modified on 7/5/2005

-

APPLIES TO


 * Microsoft Visual C++ 4.0 Professional Edition
 * Microsoft Visual C++ 5.0 Learning Edition

-



This article was previously published under Q141457



SYMPTOMS
Compiling a C++ file that contains an explicit call to a base class conversion operator, with the /FR compiler option (create Browser information) may result in the following fatal compiler error:

C:\Test\Test.Cpp(22) : fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 899)



RESOLUTION
There are two possible workarounds:


 * Turn off "Generate browse info" or remove /FR compiler option. -or-


 * Provide an implicit call to the base class conversion operator as demonstrated by the following sample code.

Sample Code
/* Compile options needed: /FR

class  Base { public: operator int {       return 0; } };

class  Derived : public Base {   int fun {       return  Base::operator int;

// The following line is a workaround for the // previous line that fails.

// return  int(*((Base*)this)); } };



STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug was corrected in Visual C++ 4.1.

Additional query words: kbVC400bug 4.00 10.0 4.10 10.10 ICE

Keywords: kbbug kbfix kbvc410fix kbcpponly kbcode kbcompiler KB141457

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.