У меня есть шаблон класса с int и параметром шаблона шаблона.
Теперь я хочу специализировать функцию-член:
template <int I> class Default{};
template <int N = 0, template<int> class T = Default> struct Class
{
void member();
};
// member definition
template <int N, template<int> class T> inline void Class<N, T>::member() {}
// partial specialisation, yields compiler error
template <template<int> class T> inline void Class<1, T>::member() {}
Может кто-нибудь сказать мне, если это возможно, и что я делаю неправильно в последней строке?
РЕДАКТИРОВАТЬ: Я хотел бы поблагодарить всех за их вклад. Поскольку мне также нужна специализация для некоторого T, я выбрал обходной путь, предложенный Nawaz, и специализировал весь класс, так как в любом случае у него была только одна функция-член и один элемент данных.