Как написать специализацию метода шаблона класса?
template <int N1>
class A
{
public:
template <int N2> int func();
};
template <int N1> template <int N2> int A<N1>::func()
{ return N1+N2;
}
//template <int N1> template <> int A<N1>::func<0>() //error
//{ return N1+1;
//}
int main(void)
{
A<1> a;
int x=a.func<2>();
int y=a.func<0>();
return 0;
}
Источник: Stack Overflow на русском