aşağıdaki üye veriC++ yineleyici problemleri
vector<State<T>*> activeChildren;
temizlemem-up bu işaretçileri benim yıkıcı istiyorum var
StateContainer<T>::~StateContainer() {
vector<State<T>*>::iterator it =
activeChildren.begin();
while(it!=activeChildren.end()) {
State<T>* ptr = *it;
it = activeChildren.erase(it);
delete ptr;
}
}
Ben Ubuntu'da g ++ 4.3.2 aşağıdaki hatayı alıyorum:
./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
Herkes yanlış yaptığımı söyleyebilir mi? Ben yineleyici döngüler kullanan iki daha çok yerde bu hatayı alıyorum ama for_each (...)
Boost :: ptr_vector> –