gpt4 book ai didi

c++ - 没有对类成员的匹配函数调用

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:08:50 26 4
gpt4 key购买 nike

我已经实现了一个通用列表,我正在尝试从列表中的某个位置检索数据。嗯......但我收到一个错误:没有匹配函数来调用'List::retrieve(int&, Record&)'下面是 main.cpp 的代码和从 List.h 中检索的函数片段。#include

main.cpp

#include <iostream>
#include "List.h"
#include "Key.h"
using namespace std;
typedef Key Record;
int main()
{
int n;
int p=3;
List<int> the_list;
Record data;
cout<<"Enter the number of records to be stored. "<<endl;
cin>>n;
for(int i=0;i<n;i=i++)
{
the_list.insert(i,i);
}
cout<<the_list.size();
the_list.retrieve(p, data);
cout<<"Record value: "<<data;
return 0;
}

List.h

Error_code retrieve(int position, List_entry &x)const
{
if(empty()) return underflow;
if(position<0 || position>count) return range_error;
x=entry[position];
return success;
}

完整代码:

main.cpp :http://pastebin.com/UrBPzPvi

List.h: http://pastebin.com/7tcbSuQu

P.S 我只是在学习基础知识,对于大规模可重用模块,代码可能并不完美。在这个阶段,它只需要工作。

谢谢

最佳答案

data,您试图将其作为第二个参数传递给 retrieve,属于 Record 类型。

retrieve的第二个参数是List_entry类型,不是Record

当编译器说“没有匹配的函数”时,这通常意味着它找到了一个与您使用的名称相同的函数,但您试图传递给该函数的一个或多个参数的类型错误,或者您试图将错误数量的参数传递给函数。

关于c++ - 没有对类成员的匹配函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4581803/

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