オブジェクトのベクトルがあります。私のデータ構造は次のとおりです。
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 を使用する目的に反します。remove_if が機能するために predicate_function がどのように見えるべきかについて誰か助けてください。lambda_function を使用したくありません。また、私のコンパイラはGCCです