У меня есть класс шаблона с параметром 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, я отказался от обходного пути, предложенного Навазом, и специализировал весь класс, поскольку в любом случае он имел только одну функцию-член и один элемент данных.