主テンプレートの宣言は、 明示的特殊化を宣言するポイント のあるスコープ内になければなりません。 言い換えれば、明示的特殊化宣言は、主テンプレートの宣言の後に入れなければなりません。 例えば、コンパイラーは、次の表記を許可しません。
template<> class A<int>; template<class T> class A;
明示的特殊化は、主テンプレートの定義と同じネーム・スペースに存在します。
関連参照