微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C STL:列表与指针 – 迭代器无法访问?

我正在努力使用一个持有“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 *,并允许打印调用.

原文地址:https://www.jb51.cc/c/112520.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐