2011-01-28 79 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吃了。