我试图实现键,值链表,所以我声明:
template<class S, class T>
class node {
public:
S key;
T value;
}
现在我想支持这个功能:
StatusType Add(void *DS, int key, void* value)
{
// key - the key of the node
// value - pointer to the value of the node
}
我对使用哪个链表感到困惑,关键应该是int,但值应该是什么?
如果我理解正确的话,您需要实现StatusType Add(void *DS, int key, void* value)
函数,以便C代码可以使用它,但您自己的实现可以使用c++。
在这种情况下,显然的选择是std::map<int, void*>
。链表类型没有键。
要存储void*数据类型,您需要使用-等待它- void*数据类型。像这样:node<int, void*>
.