Naime, jedna metoda mi vraca objekat neke liste (od vec postojece, bira odredjene elemente).
Lista Klasa::filtriraj()
{
Lista lista;
for (Elm* e = prvi; e; e = e->sled)
{
//ovde neka provera
lista.dodaj(*(e->nesto));
}
return lista;
}
Kroz debag, sve izgleda dobro. Dolazi se do 'return', regularno se pravi kopija liste (postoji copy konstruktor), i onda se poziva destruktor koji brise svu dinamicki dodeljenu memoriju u listi, a zatim se iz metode vraca prazna lista??
Kroz debag sam moga da primetim da se destruktor poziva jos jednom, odmah nakon povratka iz metode, sto je ok, ali zasto se poziva pre vracanja rezultata?