CAtlMap.GetNext上的异常调用C ++

时间:2017-07-31 06:42:48

标签: c++ exception

我有一个Map,它根据传递的位置返回对象。 我现在正在做的是使用GetStartPosition检索起始位置,然后使用空检查遍历所有位置。

__POSITION* pos = m_mapofPosBlocksToEmulators.GetStartPosition();
while (pos) {
  Emulator* pEmulator = m_mapOfPosBlocksToEmulators.GetValueAt(pos);
  //do something
  m_mapOfPosBlocksToEmulators.GetNext(pos); //exception thrown here 
}

m_mapOfPosBlocksToEmulators是CAtlMap类型,包含所有对象。

例外:

  

“关闭对象时不允许操作”。

我在getNext之前做了一次空检查: -

if (pos != NULL)

但它没有用。

我想知道在抛出异常的上下文中,我的意思是关闭哪个对象?这意味着什么?有没有办法检查对象是否已关闭?

如果有人遇到同样的问题,那么请让我知道,我也是 C ++ 的新手,所以任何人都想提供任何额外的见解,我会很感激:)。

编辑:当pos值= 0x00000000时抛出此异常。

0 个答案:

没有答案