list<employee> remove_employees(const string& name,
const string& lastname)
{
list<employee> listOfRemoved;
list<employee>::iterator it;
for(it=employees.begin(); it != employees.end(); )
{
if(it->get_name() == name && it->get_lastname() ==lastname)
{
listOfRemoved.push_back(*it);
employees.erase(it);
}
else
it++;
}
return listOfRemoved;
}
我正试图从类实例变量employees中删除一些员工,然后返回一个新的列表,只包含已删除的员工。当我尝试运行程序时,它会出现标题中的错误。我知道这与擦除和push_back有关,但我就是想不明白。
.erase()
应该将返回值存储在it
中。 - hmjd