Article: Q152041
Product(s): Microsoft C Compiler
Version(s): 4.0 4.1 4.2
Operating System(s):
Keyword(s): kbCompiler kbCPPonly kbLangCPP kbVC kbVC500fix
Last Modified: 04-AUG-2001
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual C++, versions 4.0, 4.1
- Microsoft Visual C++, 32-bit Enterprise Edition, version 4.2
- Microsoft Visual C++, 32-bit Professional Edition, version 4.2
-------------------------------------------------------------------------------
SYMPTOMS
========
The following error is generated for template function with a parameter of
scoped template member type:
fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 899)
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.
Under Visual C++ 4.1, the error will occur at line 1090 instead of line 899.
Under Visual C++ 4.2, the error will occur at line 1089. The sample code in the
More Information section of this article demonstrates the presence of this
error.
CAUSE
=====
The reason for this error is the second parameter, Container::typA, in the
template function funcA in the sample code. The compiler is unable to
distinguish the scoped template parameter.
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.
MORE INFORMATION
================
Sample Code
-----------
/* Compile options needed: none
*/
template<class Container>
void funcA(Container * , Container::typA *apTarget) { }
Additional query words: kbVC400bug template
======================================================================
Keywords : kbCompiler kbCPPonly kbLangCPP kbVC kbVC500fix
Technology : kbVCsearch kbVC400 kbAudDeveloper kbVC410 kbVC420 kbVC32bitSearch
Version : 4.0 4.1 4.2
Issue type : kbbug
Solution Type : kbfix
=============================================================================