Article: Q179271
Product(s): Microsoft C Compiler
Version(s): 5.0,6.0
Operating System(s):
Keyword(s): kberrmsg kbtemplate kbCompiler kbVC500bug kbVC600bug kbNoUpdate
Last Modified: 11-FEB-2002
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual C++, 32-bit Enterprise Edition, versions 5.0, 6.0
- Microsoft Visual C++, 32-bit Professional Edition, versions 5.0, 6.0
- Microsoft Visual C++, 32-bit Learning Edition, version 6.0
-------------------------------------------------------------------------------
SYMPTOMS
========
The error C1001 is produced when more than one explicit instantiation of member
template function is implemented. The compiler generates the following error
message:
test.cpp(13) : 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
=====
Member template implementation is not supported in this product.
RESOLUTION
==========
Do not use explicit instantiation for class member template functions.
STATUS
======
Microsoft has confirmed this to be a bug in the Microsoft products listed at the
beginning of this article.
This problem was corrected in Microsoft Visual C++ .NET.
MORE INFORMATION
================
Steps to Reproduce Behavior
---------------------------
The following sample code produces the error message described in the SYMPTOMS
section:
// test.cpp
#include <iostream.h>
lass A
{
public:
template <class T> int getit(int i , T * it )
{
cout << "template getit\n" ;
return i;
}
// explicit instantiations
template int getit(int i, double * it);
template int getit (int i, char * it);// C1001 error on this line
};
Additional query words: ICE
======================================================================
Keywords : kberrmsg kbtemplate kbCompiler kbVC500bug kbVC600bug kbNoUpdate
Technology : kbVCsearch kbAudDeveloper kbVC500 kbVC600 kbVC32bitSearch kbVC500Search
Version : :5.0,6.0
Issue type : kbbug
Solution Type : kbfix
=============================================================================