2012-06-19 87 views

回答

2

隨着雙模板:

template<typename T> 
template<typename Q> 
void A<T>::B<Q>::func(const A<T>& a) 
{ 
} 
2

這是相當直接:

template<typename T> 
template<typename Q> 
void A<T>::B<Q>::func(const A<T>& a) { } 

基本上是同樣的技術定義一個類模板的聲明之外的模板類方法。例如:

template<typename T> 
class test 
{ 
    template<typename U> 
    void func(const U& u); 
}; 

你會定義func類外,像這樣:

template<typename T> 
template<typename U> 
void test<T>::func(const U& u) { } 
+0

即使這一切的時候,我發現有關模板的幾件事情直截了當:) –

+0

是的,不知道我是什麼思考 - 爲什麼我不試試?!哈哈謝謝。 – David

+0

@Luchian:是的,我絕對同意......但這個至少有道理:-) – Jason

相關問題