我想在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