2011-01-28 41 views
11
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! 

嗨外模板成员函数,C++ - 如何实现模板类

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

缺少 '>' 终止模板参数列表

感谢您的帮助

+0

可能你的问题是模板?它应该是模板不? – ColinCren 2011-01-28 21:51:06

+1

@Colin:它是一个非类型的模板参数。 – 2011-01-28 21:54:31

回答

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

您正在寻找:

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

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