Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C++ - fronta - memory leak

No, situace se má tak, že jsem si chtěl "projet" kódy, které se mi přes rok nahromadily v pc, a přišel jsem na to, že fronta byla dost blbě napsaná. Po úpravách jsem se dostal do stavu, kdy fronta funguje (aspoň doufám, že jsem teď nic nepřehlédl :D ), ale Visual Leek Detector mi hlásí 2 memory leaky. Vzhledem k tomu, že je způsobuje fce AddLast, měla by být chyba v pomocném objektu NODE. Ten jsem chtěl uvolnit normálně vždy pomocí delete, ale program pak vypíše nesmyslné hodnoty a zacyklí se :-/ Mohl by mi někdo, prosím, vysvětlit proč? A jak tuto situaci ošetřit?

rncpck07-18969 - zdroják

Moc díky za veškeré rady, Katsu

Předmět Autor Datum
alokoval si node, naspojkoval si ho, a nakoniec ho deletnes, trosku kravina to delete na konci, nie?
MM.. 03.06.2013 14:04
MM..
A druhy problem je ze vo funkcii deleteFirst vytvaras new item, co je tiez kravina. Uvedom si ze new…
MM.. 03.06.2013 14:07
MM..
Hrozně moc díky, měl jsem za to, že delete se používá jen v páru s new, nevím proč :D Jestli někdy… poslední
Katsushiro 04.06.2013 12:04
Katsushiro

A druhy problem je ze vo funkcii deleteFirst vytvaras new item, co je tiez kravina. Uvedom si ze new je alokacia pamate, delete je dealokacia. ked idem deletovat prvy tak to znamena ze ho idem dealokovat (delete), tak predsa nebudes alokovat neco pomocou new. Vo funkcii DeleteFirst nemas robit ziadne new, to del mas deklarovat len ako pointer
item *del;

Zpět do poradny Odpovědět na původní otázku Nahoru