E2408 デフォルト値は 1 次クラステンプレート宣言でのみ指定される (C++)
テンプレート関数と部分特化されたクラスでは,テンプレートパラメータリストでデフォルトの式を使用できません。この式を使用できるのは,基本テンプレート宣言だけです。例を示します。
template<class T = int>
class foo;// OK: 基本クラステンプレート
template<class T = int>
void bar();// エラー: テンプレート関数
template<class T = int>
class foo<T *>;// エラー: 部分特化