M
mahajan.vibhor
I have a list of pointers. e.g
A* a = new A(); // A is a class
stl::list<A*> list_a;
I am inserting object of class in the after allocating memeory thru new
operator.
But when i want to erase all elements from the list. my progam crashes.
I delete element by using a iterator.
A * temp = NULL;
stl::list<A*>::iterator Iter,
stl::list<A*>::iterator IterTemp;
for( Iter = list_a.begin() ; Iter != list_a.end() ; ){
Iter = list_a.begin();
temp = *Iter;
IterTemp = Iter;
Iter++;
list_a.erase(IterTemp);
delete temp;
}
At erase line my program crashes and debugger shows some exception in
erase function.
Any help is greatly appreciated.
Thanks in advance.
Vibhor Mahajan
A* a = new A(); // A is a class
stl::list<A*> list_a;
I am inserting object of class in the after allocating memeory thru new
operator.
But when i want to erase all elements from the list. my progam crashes.
I delete element by using a iterator.
A * temp = NULL;
stl::list<A*>::iterator Iter,
stl::list<A*>::iterator IterTemp;
for( Iter = list_a.begin() ; Iter != list_a.end() ; ){
Iter = list_a.begin();
temp = *Iter;
IterTemp = Iter;
Iter++;
list_a.erase(IterTemp);
delete temp;
}
At erase line my program crashes and debugger shows some exception in
erase function.
Any help is greatly appreciated.
Thanks in advance.
Vibhor Mahajan