ho i seguenti dati membriC++ problemi iteratore
vector<State<T>*> activeChildren;
Voglio ripulire questi puntatori a mio distruttore
StateContainer<T>::~StateContainer() {
vector<State<T>*>::iterator it =
activeChildren.begin();
while(it!=activeChildren.end()) {
State<T>* ptr = *it;
it = activeChildren.erase(it);
delete ptr;
}
}
ottengo il seguente errore da g ++ 4.3.2 su 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
Qualcuno può dirmi cosa ho fatto di sbagliato? Ottengo questo errore in più due luoghi in cui ho utilizzare i cicli iteratore, ma non quando uso for_each (...)
Sembra un buon posto per usare boost :: ptr_vector> –