我有代码
vector <int> v;
v.erase(remove_if(v.begin(),v.end(),bool_checker),v.end());
Run Code Online (Sandbox Code Playgroud)
其中v是保持随机数的向量{2, 4 ,5, 6, 7, 11}和bool_checker是一个类对象,其值的数量是否是素数或不
我想删除不是素数的数字.换句话说,我想v看起来像{5, 7, 11}.现在v.erase()正在删除不是素数.所以输出是{2, 4, 6}.
我无法让编译器接受不是bool_checker.我试过了(!bool_checker),bool_checker==false等等,这些都没有奏效.有任何想法吗?
v.erase(remove_if(v.begin(),v.end(),std::not1(bool_checker)),v.end());
Run Code Online (Sandbox Code Playgroud)