que tienen los siguientes datos de los miembrosproblemas iterador C++
vector<State<T>*> activeChildren;
Quiero limpiar en marcha estos punteros en mi destructor
StateContainer<T>::~StateContainer() {
vector<State<T>*>::iterator it =
activeChildren.begin();
while(it!=activeChildren.end()) {
State<T>* ptr = *it;
it = activeChildren.erase(it);
delete ptr;
}
}
me sale el siguiente error de g ++ 4.3.2 en 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
¿Alguien me puede decir lo que he hecho mal? Me sale este error en dos lugares más donde uso bucles iterador, pero no cuando se utiliza for_each (...)
Parece un buen lugar para usar boost :: ptr_vector> –