J
JoeC
I am trying to make an iterator work with pointers. I wrote this code
and it works but with an upgrade to my program vector is now unit*
instead of unit type.
void kill(std::vector<unit>& u){
std::vector<unit>::iterator itr = u.begin();
while(itr != u.end()){
if (itr->marked()){
itr = u.erase(itr);
}else {++itr;}
}
}
How do I make my new code work?
void combat::kill(std::vector<unit*>& u){
std::vector<unit*>::iterator itr = u.begin();
while(itr != u.end()){
if (itr->marked()){ <-- How doI make this work with pointers?
itr = u.erase(itr);
}else {++itr;}
}
}
and it works but with an upgrade to my program vector is now unit*
instead of unit type.
void kill(std::vector<unit>& u){
std::vector<unit>::iterator itr = u.begin();
while(itr != u.end()){
if (itr->marked()){
itr = u.erase(itr);
}else {++itr;}
}
}
How do I make my new code work?
void combat::kill(std::vector<unit*>& u){
std::vector<unit*>::iterator itr = u.begin();
while(itr != u.end()){
if (itr->marked()){ <-- How doI make this work with pointers?
itr = u.erase(itr);
}else {++itr;}
}
}