[問題] delete物件時 錯在dbgheap.c 第2072行 …
遇到的問題 :
程式中有段在對多型的物件作delete時,會有機率性當在dbgheap.c的2072行
堆疊的錯誤訊息:
msvcr80d.dll!_CrtIsValidHeapPointer(const void * pUserData=0x0ef72640) 行 2072 C++
msvcr80d.dll!_free_dbg_nolock(void * pUserData=0x0ef72640, int nBlockUse=1) 行 1279 + 0x9 位元組 C++
msvcr80d.dll!_free_dbg(void * pUserData=0x0ef72640, int nBlockUse=1) 行 1220 + 0xd 位元組 C++
程式的狀態 :
刪除的物件不是陣列 是單一物件
基底類別解構子是virtual function
屬性設定中的 "執行階段程式庫" 是使用多執行緒偵錯 DLL(/MDd)
依照程式邏輯與觀察記憶體位址的狀態 物件並沒有被重複delete
希望跑出的結果:
當然是不會crash啦 >"<
請板上的大大幫忙解答 感恩<(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.11.145.183
※ 編輯: asail0712 來自: 124.11.145.183 (12/05 01:11)
※ 編輯: asail0712 來自: 124.11.145.183 (12/05 01:34)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章