C ++: ошибка «явная специализация в области без пространства имен»
template<typename T1, typename T2>
class Bimap {
public:
class Data {
private:
template<typename T> Data& set(T);
template<> Data& set<T1>(typename T1 v) { /*...*/ }
};
};
Это дает мне ошибку:
error: explicit specialization in non-namespace scope 'class Bimap<T1, T2>::Data'
Я понимаю, что говорит ошибка. Но почему я не могу это сделать? И как я могу это исправить?