template<typename T> T f(const T& x){return x;}
template <int N> struct S{ int a[N];}
template<>template<int N> S<N> f(const S<N>& x){S<N> r; r.a[0] = x.a[0]; return r;}
こんな感じのコードで
Extraneous template parameter list in template specialization
って警告されるんですけど何が問題でどう書くのが正解なんですかね?