gpt4 book ai didi

C++:很难从 vector 中删除一个项目

转载 作者:行者123 更新时间:2023-11-28 03:56:53 27 4
gpt4 key购买 nike

我正在尝试从 vector 中删除一个元素。

vector<Foo> vecFoo;

Foo f1;
Foo f2;
Foo f3;

vecFoo.push_back(f1);
vecFoo.push_back(f2);
vecFoo.push_back(f3);

Foo* pF1 = &f1;

vecFoo.erase(std::remove(vecFoo.begin(), vecFoo.end(), *pF1), vecFoo.end());

最后一行会产生大量 C2784 错误。我做错了什么?

(是的,这个例子有点做作,但实质是我有一个指向 vector 中元素的指针,我想删除那个元素。)

最佳答案

您是否缺少比较运算符?

class Foo
{
public:
bool operator==(Foo const& rhs) const { return true;}

... Other stuff
};

关于C++:很难从 vector 中删除一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3198107/

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