Forum » Programiranje » [C++] Dvosmerni seznam (sesutje pri klicu destruktorja)
[C++] Dvosmerni seznam (sesutje pri klicu destruktorja)
Jochaan ::
Programiram nek dvosmerni povezan seznam, pa se mi vsakič ko je več ko 1 element noter v seznamu sesuje kadar se kliče destruktor
Prosil bi za nasvete, če je kdo imel izkušnje s tem. Hvala
[edit: poskusi naslednjič bolje oblikovati naslov: PREBERI ME: označevanje topicov v oddelku programiranje - gundi]
class dsseznam { private: struct element{ int kljuc; T podatek; element* dnasl; element* lnasl; }; protected: element* zacetek; public: dsseznam(); dsseznam(const dsseznam&); ~dsseznam(); void vstavi(int ,const T&); void brisi(int); void izpis(bool) const; bool prazen() const; void isci(const dsseznam&); }; ------------------------------------------------------ // tole pa je destruktor dsseznam::~dsseznam() { element* seznam2=zacetek; while (seznam2->dnasl!=seznam2) { seznam2=seznam2->dnasl; delete(zacetek); zacetek=seznam2; } zacetek = NULL; } ////////////////////
Prosil bi za nasvete, če je kdo imel izkušnje s tem. Hvala
[edit: poskusi naslednjič bolje oblikovati naslov: PREBERI ME: označevanje topicov v oddelku programiranje - gundi]
Asus P6T V2 Deluxe, 850W, Intel i7 920 2,66Ghz
Corsair DDR3 2x 4 GB, WD 500GB SATA
Sapphire Radeon HD 5770 1 GB
Corsair DDR3 2x 4 GB, WD 500GB SATA
Sapphire Radeon HD 5770 1 GB
- spremenilo: CCfly ()
Person ::
Hm, ko ti prvi objekt pobrišeš, kaže zadnji objekt še vedno na tega ... in ko potem pride zanka do njega, se pač OS zbuni, ker ta memory ni več za brisat ... tako nekako.
Let's make something useful!
Person ::
Torej moraš dat pred delete something like:
Najbrž bo tako celo delalo ... bi pa jaz drugače malo priredil ...
zacetek->lnasl->dnasl = seznam2;
Najbrž bo tako celo delalo ... bi pa jaz drugače malo priredil ...
Let's make something useful!
Zgodovina sprememb…
- spremenil: Person ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | program za delo s polinomi v C#Oddelek: Programiranje | 1892 (1130) | majster123 |
» | [C++] Iskalno drevo implementacijaOddelek: Programiranje | 2281 (1839) | eXoo |
» | [c++]SeznamOddelek: Programiranje | 2661 (2661) | Gundolf |
» | [C++] Linker errorOddelek: Programiranje | 1286 (1286) | Quikee |
» | [C++ naloga] seznamOddelek: Programiranje | 1386 (1386) | BigWhale |