gpt4 book ai didi

c++ - 错误 C2662 无法从 const 转换为引用

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:10:40 27 4
gpt4 key购买 nike

这是我关于堆栈溢出的第一篇文章,我希望将来能加入社区。

我正在为 ADT 类编写哈希表实现;我的大部分方法都在作业范围内达到了标准,但这让我很伤心。

在这个我一直用来测试我编写的各种函数的测试应用程序中,我收到错误“error C2662: 'customer::getPhone': cannot convert 'this' ponter from 'const customer' to 'customer &' 引用行“光标 = find_ptr(entry.getPhone());”和“list_head_insert(data[hash(entry.getPhone())], entry);”

我的函数实现代码如下:

    template <class RecordType>
void table<RecordType>::insert(const RecordType& entry){

node<RecordType>* cursor;
cursor = find_ptr(entry.getPhone());

if(cursor == NULL) {
list_head_insert(data[hash(entry.getPhone())], entry);
++total_records;
}
else
cursor->set_data(entry);

}

在这种情况下,getPhone 指的是一个整数私有(private)变量的访问器,没什么特别的。

最后,对于我的主要测试应用程序:

#include "Table2.h"
#include "Customer.h";
using namespace std;

int main () {

customer myCustomer( "name", "935 street dr.", 5555555 );
table<customer> myTable;
cout << myCustomer;

myTable.insert(myCustomer);


return 0;
}

令人沮丧的是,这段代码在文本和几个在线示例中都是逐字使用的,我在收到编译错误后查阅了这些示例;任何帮助将不胜感激,如果需要,我很乐意澄清任何事情。我正在为桌面运行 VS Express 2012。

最佳答案

访问器RecordType::getPhone() 需要声明为const

关于c++ - 错误 C2662 无法从 const 转换为引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20319540/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com