我创建了具有2个属性的类Human:name和age,我想删除类型为Human的嵌套向量中的所有元素,其年龄= = 20,这是我的实现
class Human
{
public:
string name;
int age;
Human(string name,int age):name(name),age(age){}
bool isAge20(const Human human) {return human.age == 20;}
static void removeElement(vector <vector <Human> > vvi)
{
vector< vector<Human> >::iterator row;
vector<Human>::iterator col;
for (row = vvi.begin(); row != vvi.end(); row++) {
row->erase( std::remove_if( row->begin(), row->end(), isAge20), row->end());
}
};
奇怪的是,当我创建这样的嵌套向量并使用它调用removeElement函数时,我收到以下错误:必须使用'。'或' - &gt; '来调用指针成员函数。那可能是什么原因?
答案 0 :(得分:0)
谓词应该是可调用的(函数/函子),if stMa[i][6] == 0:
是成员函数。你可以使用类似的东西:
isAge20