![]() |
1
2
指向向量的指针无效或向量中的指针无效;在本例中可能是前者。这在许多情况下都会发生,例如使用指向本地对象的指针,这些对象已经被销毁。 (除此之外:考虑到您为window添加了分号,我打赌这是一个数据成员而不是参数。) 不要在应用程序中存储向量指针,而是存储向量本身。不存储指向窗口对象的指针,而是自行存储窗口对象。
但是,这要求窗口是可复制的,而它们可能不是可复制的。它也不允许存储从窗口派生的类型的对象。相反,您可以使用 boost::ptr_vector ,它“拥有”指向对象,并在删除它们时将其删除(例如,当ptr_向量被销毁或清除时):
|