Compiler Error C2908

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

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  

Show: