我正在尝试打印矢量的内容并获得以下内容
错误信息 aka class __gnu_cxx::__normal_iterator<const SoccerTeams*, std::vector<SoccerTeams> >}’ has no member named ‘teamName’
这是我的课
class SoccerTeams {
string teamName;
public:
vector<SoccerTeams> teams;
void addTeam(string name) {
SoccerTeams newTeam(name);
teams.push_back(newTeam);
};
void showTeams() {
cout << "\nHere's all the teams!";
//error here
for (vector<SoccerTeams>::const_iterator i = teams.begin(); i != teams.end(); ++i)
cout << *i.teamName << endl;
}
SoccerTeams(string tn){
teamName = tn;
};
~SoccerTeams(){};
};
Run Code Online (Sandbox Code Playgroud)
我相信错误的存在是因为矢量团队目前是空的,有没有办法解决这个问题?
该.经营者具有比一元更高的优先级*.所以*i.teamName就是*(i.teamName),试图查找一个成员teamName的const_iterator,而不是SoccerTeams对象*i.
你需要(*i).teamName或等同于i->teamName.