template<int N>
class myClass
{
template<typename T>
void myFunction();
};
template<typename T>
void myClass<int N>::myFunction() {} // doesn't work, nor do many other combinations!
Hi,
Is it poss开发者_开发百科ible to achieve the above? I can implement myFunction in the class definition no problem. If so what would the syntax be? GCC 4.2 tells me:
missing '>' to terminate the template argument list
thanks for your help
You are looking for:
template <int N>
template <typename T>
void myClass<N>::myFunction() {}
You need one template
for the class template and one for the member function template.
template<int N> template<typename T>
void myClass<N>::myFunction() {}
精彩评论