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

converting from iterator to the object c++

本文关键字:对象 c++ 转换 迭代器      更新时间:2023-10-16

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

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_alloc0x0000007C0196C490.

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

写入

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

而不是

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

然后在中写入for:

xmlObjects &gt=(*objectsIterator);