从迭代器转换为对象c ++

时间:2015-12-22 09:18:19

标签: c++ list iterator

我有一个遍历列表的迭代器,我尝试将迭代器转换为对象。

std::list<XMLObjects>::const_iterator objectsIterator;
for (objectsIterator = frame->getObjectsList().begin(); objectsIterator != frame->getObjectsList().end(); ++objectsIterator)
    {
      XMLObjects object =(*objectsIterator);
    }

但是我收到了错误:

  

OR_Comparator.exe中0x00007FFA9A658384处的未处理异常:   Microsoft C ++异常:内存位置的std :: bad_alloc   0x0000007C0196C490。

谁能以一种好的方式转换它?

1 个答案:

答案 0 :(得分:2)

std::list<XMLObjects>::iterator objectsIterator;

而不是

std::list<XMLObjects>::const_iterator objectsIterator;

然后写入for:

xmlObjects &gt=(*objectsIterator);