Witam. Chciałbym z Wami skonsultować jeden program. Chodzi o listę jednostronnie wiązaną, która kasuje elementy. Zacząłem od najprostszej sytuacji, gdzie mamy same liczby parzyste, więc lista po wykonaniu funkcji powinna być pusta. Program mi crashuje. Siedzę nad tym już dosyć długo, nigdzie nie znalazłem błędu. Prosiłbym o pomoc. Poniżej przedstawiam kod:
void delete_even (mode *&head)
{
mode* p = head;
while ( (head->vol)%2 == 0 && head != NULL)
{
if (head->next != NULL)
{
head = head->next;
p->next = NULL;
p=head;
}
if (head && head->next == NULL)
head = NULL;
}