我有一个对象向量。我的数据结构如下:
class my_class{
float a; int b;
};
my_class obj;
vector<my_class> vec;
向量 vec 包含以下形式的数据:
vec
((10.0,2),(100,3),(19.0,3)...)
现在,我打算从向量 vec 中删除小于或等于 vec 的最后一个元素的元素……为此,我使用了 erase 和 remove_if 函数:
vec.erase(std::remove_if(vec.begin(), vec.end(), predicate_function(vec, (vec.end()-1).a, (vec.end()-1).b)), vec.end());
我拥有的 predicate_function 对“vec”进行了迭代。然而,这违背了使用 std::remove_if 的目的。有人可以帮忙看看 predicate_function 应该是什么样子才能使 remove_if 工作。我不想使用 lambda_function。我的编译器也是 GCC