クラスにメソッドがあり、クラスのメンバーであるLinkRepository
ベクトル配列の重複エントリをチェックしています。配列内のすべての要素をループして、配列内にすでに存在するDatalinks
新しいエントリをチェックインします。Datalink* datalink
その場合は追加せず、ループを終了します。
void LinkRepository::SaveLink(Datalink* datalink) {
bool Exist = false;
for(vector<Datalink*>::iterator dl = Datalinks.begin(); dl != Datalinks.end(); ++dl)
{
if((strstr((*dl)->ParentID, datalink->ParentID) != NULL) && (strstr((*dl)->ChildID,datalink->ChildID) != NULL))
{
Exist = true;
dl = Datalinks.end();
}
}
if(!Exist)
{
Datalinks.push_back(datalink);
}
};
私のプログラムはステートメントの次のループでクラッシュするようですdl = Datalinks.end();
なぜクラッシュしているのかわかりませんか?