Re: [問題] STL MAP 問題~~

看板C_and_CPP作者 (ㄚ那貝貝)時間14年前 (2011/04/10 22:23), 編輯推噓0(0012)
留言12則, 4人參與, 最新討論串1/1
主程式: cout<<it2->name<<endl; it2是vector<struct > check(data cg,net_msg[it2->name],it2->name); net_msg是一個map cout<<it2->name<<endl; check : check_cg2e0(net_data &n,int key) { cout<<key<<endl; if(cg.y>n.x) n.x=cg.x; if(cg.y>n.y) n.y=cg.y cout<<key<<endl; } 在net_msg的部分有做過erase的處理。 有可能會是net_msg在整理的時候就出錯嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.152.180

04/10 22:24, , 1F
我會建議你貼「可以直接讓版友拿來跑」的程式
04/10 22:24, 1F

04/10 22:26, , 2F
debug第一步 找出error出現的最小環境 包括code compiler
04/10 22:26, 2F

04/10 22:28, , 3F
那個部份是在迴圈裡面,再跑到最後面幾次KEY才會出錯
04/10 22:28, 3F

04/10 22:30, , 4F
會出錯前我會對MAP裡的資料做修改,
04/10 22:30, 4F

04/10 22:30, , 5F
但這部分在前面幾次迴圈也曾經執行過,並沒有發生錯誤。
04/10 22:30, 5F

04/10 22:31, , 6F
只是到了最後面才會發生KEY改變的問題。
04/10 22:31, 6F

04/10 22:32, , 7F
你怎麼能那麼肯定「沒有錯誤」...
04/10 22:32, 7F

04/10 22:35, , 8F
因為前後印出來的KEY都是相同的。
04/10 22:35, 8F

04/10 22:41, , 9F
只靠你提供的這些資訊,要找到問題難度頗高
04/10 22:41, 9F

04/10 23:00, , 10F
在結束function之後除了key改變map的size也自己增加了。
04/10 23:00, 10F

04/10 23:01, , 11F
在function裡面並沒有去insert的值到map裡。
04/10 23:01, 11F

04/10 23:03, , 12F
我還是建議你盡量貼關鍵程式碼,這樣說明真的沒什麼幫助
04/10 23:03, 12F
文章代碼(AID): #1DeRrUmR (C_and_CPP)