我有一个列表,我在其中存储指向对象指针的指针。我有一个函数,在其中创建指向这些对象的指针并将它们的地址存储在列表中(因此指向指针)。然而,一旦这个函数完成,指针不再有效(对象是但不是指针,因为它超出了范围)所以现在我的指针指针不起作用。你如何解决这个问题?
list<Actor**> lst;
void CreateEnemy()
{
Actor* a = new Actor();
lst.push_back(&a);
}
int _tmain(int argc, _TCHAR* argv[])
{
CreateEnemy();
// at this point the pointer to a pointer stored in lst isn't valid anymore because it went out of scope after CreateEnemy() completed.
}