我想在C++中編寫簡單的哈希表。我的散列表實施方案模板看起來是這樣的:C++模板相互依存類型
template<class k, class v, class h<k>, class e<k> >
class my_hash {
};
其中
K =類類型的關鍵
V =類類型的值
H =類類型的哈希FN
E =類類型的相等FN
我已經定義的H類這樣
template<class k>
class h {
};
我會專門針對不同k種類型的以上模板,例如整型,字符串等我想要做的是,每當我調用其中k my_hash模板,它會自動拿起
h<k>
的哈希函數type.For做到這一點我怎麼定義模板?
如果我像上面顯示的那樣定義它,g ++會給出編譯器錯誤,說h不是模板?有人可以幫助我嗎?
爲什麼不'類H,類e'? – mfontanini 2013-04-04 04:28:15
我試過這樣做。 my_hash構造函數將採用類h作爲參數。但是,如果我沒有在構造函數中指定h作爲默認的散列函數,是否有可能? – cppdev 2013-04-04 04:36:03