gpt4 book ai didi

c++ - 错误:没有匹配函数来调用 > ‘std::vector::push_back 和

转载 作者:搜寻专家 更新时间:2023-10-31 02:23:36 24 4
gpt4 key购买 nike

您好,我正在尝试将 MemberListEntry 类型的对象插入到包含 类型的 vector memberList 中。为此,我尝试使用 vector 的 push_back 函数,但它给了我一个错误。

MemberListEntry *object = new MemberListEntry(id, port, memberNode->heartbeat, par->getcurrtime());
memberNode->memberList.push_back(object);

MP1Node.cpp:118:41: error: no matching function for call to ‘std::vector::push_back(MemberListEntry*&)’
memberNode->memberList.push_back(object);

这是我的载体

vector<MemberListEntry> memberList;

在类里面

class Member {.........

改变为

memberNode->memberList.push_back<MemberListEntry>(object);

给予

error: expected primary-expression before ‘>’ token
memberNode->memberList.push_back(object);

最佳答案

您正在尝试将指针放入不包含指针的 vector 中。你有两种可能性:

1- 更改您的 vector<MemberListEntry>vector<MemberListEntry*>

2- 将第一行更改为:

MemberListEntry object(id, port, memberNode->heartbeat, par->getcurrtime());

如果您使用第一个,请确保对 vector 的元素调用 delete。

关于c++ - 错误:没有匹配函数来调用 > ‘std::vector<MemberListEntry>::push_back 和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29130565/

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