Witam mam podpiętą listę i np chce ją całą usunąć napisałem coś takiego :
struct song
{
string title;
song*next;
};
struct cd{
string name;
cd *next;
song *first;
};
void delsongs(cd*&head)
{
if (head->first == NULL)return;
else
{
song*head1 = head->first;
while (head1 != NULL)
{
delete head1;
head1 = head1->next;
}
head->first = NULL;
}
}
Czyli wcześniej mam funkcję która zwraca mi płytę z której chce piosenki usuwać.Sprawdzam czy wskaźnik na podpiętą liste nie jest 0 jak jest to wracam,a jak nie to robię nową zmienną przechodzę po liście usuwam ją,a na koniec wskaźnik na pierwszy element ustawiam na NULL,wydaję mi się,że jest dobrze,ale jednak coś nie działa.Widać na pierwszy rzut oka czy coś źle jest czy mam cały kod podac?