Compiler Error C2908


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

The latest version of this topic can be found at Compiler Error C2908.

explicit specialization; 'template' has already been instantiated

A specialization of the primary template occurs before the explicit specialization.

The following sample generates C2908:

// C2908.cpp  
// compile with: /c  
template<class T> class X {};  
void f() {  
X<int> x;   //specialization and instantiation  
            //of X<int>  
template<> class X<int> {}  // C2908, explicit specialization