Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 对列表中存储的对象使用类函数,通过迭代器访问_C++_Class_Function_Iterator - Fatal编程技术网

C++ 对列表中存储的对象使用类函数,通过迭代器访问

C++ 对列表中存储的对象使用类函数,通过迭代器访问,c++,class,function,iterator,C++,Class,Function,Iterator,我试图打印Player的一些实例的名称,这些实例存储在列表中。我应该用什么来代替“扑通一声!”才能让它正常工作 list<Player>::iterator it; for(it=players.begin(); it != players.end(); ++it) cout << "Plop!" << " "; cout << endl; 我觉得迭代器的处理方式应该与普通指针不同。或者迭代器*它根本不包含Player对象 it

我试图打印
Player
的一些实例的名称,这些实例存储在
列表中。我应该用什么来代替“扑通一声!”才能让它正常工作

   list<Player>::iterator it;
   for(it=players.begin(); it != players.end(); ++it) cout << "Plop!" << " ";
   cout << endl;
我觉得迭代器的处理方式应该与普通指针不同。或者迭代器
*它
根本不包含Player对象

it->getName();
只要
玩家
有这个方法…

应该是

(*it).getName()

这个。运算符绑定比*更难,否则编译会失败。

您需要取消对迭代器的引用

*it
但是,如果你知道我的意思的话,解引用会下降到左边:)所以你需要用括号将其保持在原位:

(*it).getName();

别忘了for循环中的花括号

作为替代方案,考虑执行<代码>操作符
(*it).getName();