E2388 Argument list of specialization cannot be identical to the parameter list of primary template (C++)
Go Up to Compiler Errors And Warnings (C++) Index
When declaring a partial specialization, its specialization argument list must differ in some way from its basic parameter list. For example:
template<class T>
class foo;
template<class T>
class foo<T *>; // OK: is more specialized than primary template
template<class T>
class foo<T>; // error: identical to primary template