C ++ - 如何在模板化类之外实现模板化成员函数

时间:2011-01-28 21:46:45

标签: c++ templates

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!

您好,

有可能实现上述目标吗?我可以在类定义中实现myFunction没问题。如果是这样,语法是什么? GCC 4.2告诉我:

  

缺少'&gt;'终止模板参数列表

感谢您的帮助

2 个答案:

答案 0 :(得分:12)

您正在寻找:

template <int N>
template <typename T> 
void myClass<N>::myFunction() {} 

您需要一个template用于类模板,一个用于成员函数模板。

答案 1 :(得分:4)

template<int N> template<typename T>
void myClass<N>::myFunction() {}