Microsoft KB Archive/221585

= FIX: C1001 - Internal Compiler Error on String Default Argument =

Article ID: 221585

Article Last Modified on 9/23/2005

-

APPLIES TO


 * Microsoft Visual C++ 5.0 Enterprise Edition
 * Microsoft Visual C++ 5.0 Professional Edition

-



This article was previously published under Q221585



SYMPTOMS
Compiling code with a default argument for a string parameter in a function declaration results in the following:

Test.cpp : fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1188) Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more information



CAUSE
This bug was introduced in Visual Studio 97 Service Pack 3. It was not in earlier versions of Visual C++ 5.0.



RESOLUTION
Either upgrade to Visual C++ 6.0, or define a string in the file before the function declaration.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

This bug was corrected in Microsoft Visual C++, version 6.0.



MORE INFORMATION
The following sample code demonstrates the problem and the workaround:

using namespace std ;
 * 1) include

// Uncomment the following line to work around the problem //static std::string empty = "";

void test( string sname = "" );

void main {  test ; } Note that the empty string declaration must be in the same translation unit as the function declaration.

Keywords: kbbug kbfix kbqfe kbhotfixserver KB221585

-

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

© Microsoft Corporation. All rights reserved.