【发布时间】:2012-11-27 16:06:25
【问题描述】:
当我尝试运行这段代码时
template <typename Item, typename Key>
Item* BST<Item,Key>::search(const Key& key) const {
for (std::size_t i = 0; i < tree.size(); ++i) {
Item* ptr = NULL;
if(tree[i].data == key && tree[i].occupied == true) {
ptr = tree[i].data;
return ptr;
}
}
return ptr;
}
我最终得到了标题中描述的错误。我已经尝试过多次修复它,但无法弄清楚我做错了什么。对于一些背景信息,树是节点的向量。每个节点都有一个布尔变量说明它是否被占用,还有一个 Item 变量称为数据。该函数应该使用给定键搜索向量以查找节点并返回指向其数据的指针,但我一生都无法弄清楚。
【问题讨论】:
-
指出错误指的是哪一行会很有帮助。
-
对不起,它指的是我设置 ptr = tree[i].data 的那一行
标签: c++ templates pointers vector