-4
下面的代碼
怪異的行爲映射
next = friendchain.begin()->first;
while(true) {
start = next;
next = friendchain[next];
if(next!=0) {
friendchain.erase(start);
groupcount++;
size = friendchain.size();
printf("size=%i\n", size);
//size = 0
}
if (next==0) {
size = friendchain.size();
printf("size=%i\n", size);
//size = 1!!!
if (friendchain.empty())
{
break;
//should go out of the loop here
} else {
next = friendchain.begin()->first;
// next has value of 3
}
}
}
我friendchain地圖的內容是:
1 - > 2和
2 - > 3
我不明白爲什麼其他部分正在執行。
讓我知道你是否需要更多的代碼。
關於
你的問題是可怕的。我沒有downvote,你的代碼也不好,使用迭代器來遍歷你的地圖,那麼你不需要檢查它是否是模擬 – 2013-03-05 17:17:49
請至少顯示下一個好友鏈的類型並開始 – odinthenerd 2013-03-05 17:19:34
我正在使用地圖第一次,我仍然學習朗指C++文檔,並沒有得到任何解決方案。 @PorkyBrain開始和下一個很長。 – 2013-03-05 17:24:46