I know how do erase elements of a list, and that erase return a valid iterater. My problem is, that I want to remove not just one element but multiple.
Actuall my code is like
for(list<Treenode*>::iterator it=currentLevel->begin(); it!=currentLevel->end(); ++it){
if(something(*it)) {
for(list<Treenode*>::iterator it2=currentNewLevel->begin();it2!=currentNewLevel->end();){
if (somethingDifferent(*it2)) {
it2=currentLevel->erase(it2);
} else {
++it2;
}
}
}
}
of course this could not work, because it
is not changed. I don't know how to change the iterator but stay on this iteration-step.
Thank you for reading. I hope someone know the answer.