Compiler Error C2766

 

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 C2766.

explicit specialization; 'specialization' has already been defined

Duplicate explicit specializations are not allowed. For more information, see Explicit Specialization of Function Templates.

The following sample generates C2766:

// C2766.cpp  
// compile with: /c  
template<class T>   
struct A {};  
  
template<>   
struct A<int> {};  
  
template<>   
struct A<int> {};   // C2766  
// try the following line instead  
// struct A<char> {};  

Show: