[問題] template問題

看板C_and_CPP (C/C++)作者 (累人啊....)時間14年前 (2011/12/23 10:43), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/3 (看更多)
template<typename T> class RParam{ public: typedef typename IfThenElse<IsClass<T>::No, T, T const&>::ResultT Type //判斷是否為Class,是Type則為T,不是Type則為ResultT template<typename T1,typaname T2> void foo(typename RParam<T1>::Type p1, typename RParam<T2>::Type p2){} int main(){ MyClass1 mc1; MyClass2 mc2; foo<MyClass1,MyClass2>(mc1,mc2); return 0; } 書上說foo無法經由引數推導 因為template parameters只出現在函式參數的qualifiers上 因此呼叫端必須明確指定templates arguments. 對這句話的意思不清楚,可以麻煩解釋一下嗎? 謝謝 p.s 程式碼有部份省略沒打,不知道這樣的表達方式夠不夠清楚 不夠的話我在補上其餘的程式碼 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.177.205

12/24 01:45, , 1F
foo<MyClass1,MyClass2>(...)就是明確指定foo(...)則不是
12/24 01:45, 1F
文章代碼(AID): #1Ey-gyOC (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 3 篇):
1
1
文章代碼(AID): #1Ey-gyOC (C_and_CPP)