我有代码
vector <int> v;
v.erase(remove_if(v.begin(),v.end(),bool_checker),v.end());
其中v
是一个包含随机数的向量,{2, 4 ,5, 6, 7, 11}
并且bool_checker
是一个评估该数字是否为素数的类对象
我想删除不是素数的数字。换句话说,我想v
看起来像{5, 7, 11}
。现在v.erase()
正在擦除不是素数。所以输出是{2, 4, 6}
。
我无法让编译器接受 not of bool_checker
. 我已经尝试过(!bool_checker)
,bool_checker==false
等,但这些都没有奏效。有任何想法吗?