我正在努力使用一个持有“Object”对象指针的STL列表.
我宣布:
list<Object*> objectlist;
并通过插入:
this->objectlist.push_back(new Object(address,value,profit));
并尝试像地图和其他人一样迭代:
list<Object*>::iterator iter; iter = this->objectlist.begin(); while(iter != this->objectlist.end()) { iter->print(); }
其中print()是public的Object类;
这里有什么问题?
我无法通过迭代器访问列表中的对象?
解决方法
你需要(* iter) – > print();
因为你有一个指针的迭代器,你必须首先取消引用迭代器(它得到你的Object *),然后箭头取消引用Object *,并允许打印调用.