Это минимальный код, который я не могу исправить:Явная специализация шаблона вложенного класса в шаблоне класса
template<typename T>
class A {
template<typename S>
class B{
};
template<>
class B<int> {
};
};
при компиляции я получаю
error: explicit specialization in non-namespace scope 'class A<T>'
Что я делаю не так? Как я могу это исправить?
EDIT: Я видел некоторые другие ответы, но от того, что они предложили, я должен сделать это:
template<typename T>
class A {
template<typename S>
class B{
};
};
template<typename T>
class A<T>::B<int> {
};
Но это не работает, либо ...
нет, вы не можете специализироваться вложенные шаблоны –