Microsoft KB Archive/153398

= FIX: Namespace and Typedef Cause C1001:'msc1.cpp',line 1090 =

Article ID: 153398

Article Last Modified on 7/5/2005

-

APPLIES TO


 * 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

-



This article was previously published under Q153398



SYMPTOMS
A program that uses a namespace including a typedef name for the base class name may cause the compiler to generate the following error message:

fatal error C1001: INTERNAL COMPILER ERROR

In addition, this error will be followed by a message similar to this:

 (compiler file 'msc1.cpp', line 899)   (compiler file 'msc1.cpp', line 1090)  (compiler file 'msc1.cpp', line 1089)  Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more information Error executing cl.exe.



RESOLUTION
Avoid a typedef name for the base class within a different derived class namespace.



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++ version 5.0.



Sample Code
/* Compile options needed: */   //messages.cpp

namespace X { class A{}; typedef A B;  } namespace Y{      class C: public X::B{}; // Work around:  replace the above line with  the following: // class C : public X::A{};

}

Keywords: kbbug kbfix kblangcpp kbprogramming kbvc500fix kbcpponly kbcode kbusage kbcompiler KB153398

-

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

© Microsoft Corporation. All rights reserved.