Ich habe die folgenden Mitgliederdaten
vector<State<T>*> activeChildren;
Ich möchte diese Zeiger in meinem Destruktor bereinigen
StateContainer<T>::~StateContainer() {
vector<State<T>*>::iterator it =
activeChildren.begin();
while(it!=activeChildren.end()) {
State<T>* ptr = *it;
it = activeChildren.erase(it);
delete ptr;
}
}
Ich erhalte den folgenden Fehler von g++ 4.3.2 auf Ubuntu:
./fsm2/StateContainer.cpp: In destructor ‘virtual ervan::StateContainer<T>::~StateContainer()’:
../fsm2/StateContainer.cpp:24: error: expected `;' before ‘it’
../fsm2/StateContainer.cpp:25: error: ‘it’ was not declared in this scope
Kann mir jemand sagen, was ich falsch gemacht habe? Ich erhalte diesen Fehler an zwei weiteren Stellen, an denen ich Iteratorschleifen verwende, aber nicht, wenn ich for_each(...) verwende