Edited at

C++でのremoveChildの実装例

More than 5 years have passed since last update.

vector<flash::DisplayObject*> children;

flash::DisplayObject* DisplayObjectContainer::removeChild(flash::DisplayObject* child) {
for(int i = 0; i < children.size(); i++) {
if(children[i] == child) {
//ステージとの参照を切る
child->stage(NULL);
//親コンテナとの参照を切る
child->parent(NULL);
//配列から削除
children.erase(children.begin() + i);
return child;
}
}

//対象の子がなかったらエラー
throw "DisplayObjectContainer::removeChild\n";
}