E2408 Default values may be specified only in primary class template declarations (C++)
Go Up to Compiler Errors And Warnings (C++) Index
Template functions, and class partial specializations, may not use default expressions in their template parameter lists. Only primary template declarations may do this. For example:
template<class T = int> class foo;// OK: primary class template template<class T = int> void bar();// error: template function template<class T = int> class foo<T *>;// error: partial specialization