[問題] 請問有關map的memory free
其實是在作業六DEBUG的時候,出現了
*** glibc detected *** cirTest: free(): invalid pointer: 0x098d0ad0 ***
的錯誤,經過一串cout大法後發現原因出在map的memory free上面
以下是我用的格式
typedef std::pair<string,CirGate*> PairC;
typedef std::map<string, PairC > CirMap;
(In class CirMgr)
CirMap _gate;
(In some function in class CirMgr)_gate.clear();<----在這行發生錯誤
而且奇怪的是有時候這問題不會發生 舉個例子好了:
(In cirTest)
cirr testcases/basic/C17_r.cir -r <--一開始沒事
cirr testcases/basic/C17_r.cir -r <--第二次爆炸
但是如果是
(In cirTest)
cirr testcases/basic/C17.cir -r <--先讀別的
cirr testcases/basic/C17_r.cir -r
cirr testcases/basic/C17_r.cir -r
cirr testcases/basic/C17_r.cir -r <--不管做幾次都沒問題
想請問一下要怎麼解決 = ='' 這其中一定有什麼誤會
謝謝回答!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.249.125
→
12/22 08:35, , 1F
12/22 08:35, 1F
→
12/22 08:35, , 2F
12/22 08:35, 2F
→
12/22 08:36, , 3F
12/22 08:36, 3F
推
12/22 14:29, , 4F
12/22 14:29, 4F
→
12/22 14:30, , 5F
12/22 14:30, 5F
→
12/22 14:31, , 6F
12/22 14:31, 6F
推
12/22 19:51, , 7F
12/22 19:51, 7F
推
12/22 20:49, , 8F
12/22 20:49, 8F
→
12/22 20:50, , 9F
12/22 20:50, 9F
→
12/22 20:50, , 10F
12/22 20:50, 10F
→
12/22 22:38, , 11F
12/22 22:38, 11F
→
12/22 22:39, , 12F
12/22 22:39, 12F
→
12/22 22:40, , 13F
12/22 22:40, 13F
→
12/22 22:41, , 14F
12/22 22:41, 14F
→
12/22 22:42, , 15F
12/22 22:42, 15F
→
12/22 22:43, , 16F
12/22 22:43, 16F
→
12/22 22:44, , 17F
12/22 22:44, 17F
推
12/22 23:54, , 18F
12/22 23:54, 18F
→
12/23 01:52, , 19F
12/23 01:52, 19F