【发布时间】:2013-12-31 08:08:58
【问题描述】:
考虑以下导致访问冲突的代码:
for(std::list<ProjectileNode*>::iterator it = m_Projectiles.begin(); it!=m_Projectiles.end(); it++)
{
if(!(*it)->isActive()) //isActive returns a bool
{
m_Projectiles.remove((*it));
}
}
if(!(*it)->isActive()) 导致异常。
我是使用列表的新手,需要一些帮助。指向的对象在其他地方管理,所以我不希望它们被破坏,只从列表中删除,不会导致此异常
【问题讨论】:
-
你检查过指针是否有效吗?
-
删除似乎工作得很好,但是列表中删除了一个条目,它崩溃了