Usuwanie węzła listy

0

Witam!
Pierwszy raz mi się to zdarzyło, ale napisałem funkcję usuwającą dowolny element z listy dwukierunkowej i kiedy go usunę to wypisują się bzdury, kiedy go po prostu wypnę z listy ale nie usunę operatorem delete to wszystko działa.

 void usundowolny(node *&knot,init &list)
{
	if(knot->prev)
	{
		knot->prev->next=knot->next;
	}
	else
	{
		list.head=knot->next;
	}
	if(knot->next)
	{
		knot->next->prev=knot->prev;
	}
	else
	{
		list.tail=knot->prev;
	}
	delete knot;
	list.count--;
}
1

Wygląda poprawnie oprócz jednej rzeczy, po kiego przekazujesz knot przez referencje?
Pokaż też jak sprawdzasz że nie działa.

0

Program wypisywał randomowe wartości a miałem tylko 20 elementów list, ale tu był błąd, dziękuję za pomoc ;)

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