Compiler Error C2753

'class' : template class has already been defined

If the template argument list matches the parameter list, the compiler treats it as the same template. Defining the same template twice is not allowed.

The following sample generates C2753:

// C2753.cpp
template<class T>
struct A {};

template<class T>
struct A<T> {};   // C2753
// try the following line instead
// struct A<int> {};

template<class T, class U, class V, class W, class X>
struct B {};