我很难从我的Customer矢量数组中删除。
它被定义为:
vector<Customer> VecCustomerCollection;
客户是一个对象(存储每个客户的信息)
目前正试图像这样删除:
VecCustomerCollection.erase(emove(VecCustomerCollection.begin(), VecCustomerCollection.end(), cus), VecCustomerCollection.end());
但是这会产生很多错误(我读到我需要重载它,但不确定如何)
我也尝试过使用迭代器并迭代向量的方法(因为每个值都是唯一的)。
但是也行不通,并且整个下午都试着让它发挥作用。
有关如何使其发挥作用的任何见解?谢谢!
答案 0 :(得分:1)
您必须为类operator ==
定义Customer
或定义一些将替换此运算符的谓词。在最后一种情况下,您必须使用算法std::remove_if
而不是std::remove
。
简而言之,您应该决定如何比较Customer类型的对象。编译器无法决定如何比较对象。
考虑到存在拼写错误
VecCustomerCollection.erase(emove(VecCustomerCollection...
^^