2010年1月9日

[Journal]20100105

不是copyfrom()的問題

for(vit=not_fin.begin(); vit!=not_fin.end(); ) {//0105
outgoing_edge = ATO_state_Vector.at(*vit)->get_out_edges();
if (outgoing_edge->size()==0) {
not_fin.erase(vit);//<--------------problem
vit = not_fin.begin();//0105 add
continue;
}
elseoption = false;
........
}

學長沒有考慮到erase掉之後,iterator找不到最後一個便跳出(中間產生空洞)
不知道為什麼這個error在cygwin下會被skip掉
不過只要從頭找一次就可以解決問題
所以加入vit = not_fin.begin()
我想我遇到小天使了~~!!

0 意見: