【发布时间】:2011-05-09 17:17:57
【问题描述】:
我认为下面的代码可以工作,但是当目标小部件位于矢量末尾时它会崩溃。
for(std::vector<AguiWidget*>::iterator it = children.begin();
it != children.end(); ++it)
{
if((*it) == widget)
it = children.erase(it);
}
我希望它通过并删除它找到的任何小部件实例。我知道这种方法是 N^2 但由于这是事件驱动的,所以很好。我只是不知道为什么这会失败。当它出现时,'it' == 小部件。
谢谢
【问题讨论】: