problem przy zwalnainiu pamieci

0
class Element{
 public:
 	int wartosc;
 	Element* nastepny;	

....
~ListElem() {

	if(nastepny) delete nastepny;

	 }
}
class Lista{
 
 private :
	
 	public:
	 Element* pierwszy;
	  Element* ostatni;

	 
	 Lista(){
	 	first =0;
             ostatni =0;

	 }

	....

	 void KasujPierwszy();
}
void Lista::KasujPierwszy(){



	 if( first ==0) // lista pusta
		 return;
	 

	 ListElem* nowyPierwszy; //nowy pierwszy, czyli 2 na liscie

	nowyPierwszy = pierwszy->nastepny;

	pierwszy->nastepny =0;
	 
	delete pierwszy;
	pierwszy =0;

		 pierwszy = nowyPierwszy;
		 nowyPierwszy=0;

	
	 size--;


}

Program sypie sie przy delete pierwszy;
BLOCK_TYPE_IS_VALID(phead->nBlockUse)

Co robie zle?

0

Zamiast first w warunku ma byc pierwszy.

0

Ok, problem rozwiazany.

1 użytkowników online, w tym zalogowanych: 0, gości: 1