Witam , mam problem otóż : mam listę a w niej dane i chcę skasować z niej dane które podam (w moim wypadku to 2) mam taki kod
#include <iostream>
using namespace std;
struct lista
{
lista *next;
int dane;
};
int wypelnij(lista *&list , int dane)
{
lista *pomoc = new lista;
pomoc->next = list;
pomoc->dane = dane;
list = pomoc;
return 0;
}
void wypisz(const lista* wyp)
{
while(wyp != NULL )
{
cout << wyp->dane << endl;
wyp = wyp->next ;
}
return;
}
void kasuj(lista *&kas , int da)
{
lista *pomoc= kas;
while(pomoc->next != NULL)
{
if(pomoc->dane == da)
{
lista *pom = pomoc->next;
delete pomoc;
pomoc=pom;
}
else
{
pomoc = pomoc->next ;
}
}
delete pomoc;
return ;
}
int main()
{
lista *wsk=NULL;
wypelnij(wsk,1);
wypelnij(wsk,2);
wypelnij(wsk,3);
kasuj(wsk,2);
wypisz(wsk);
cin.get();
return 0;
}
Ale wywala błąd;/ siedzę nad tym z 7H i nie wiem jak to zrobić dzięki za pomoc;
EDIT // Tu błąd który wywala kompilator : Unhandled exception at 0x00411581 in HackMeTre.exe: 0xC0000005: Access violation reading location 0xfeeefef2. czyli coś z odczytem pamięci.