有人可以解釋爲什麼每當我嘗試增加對時什麼都沒有發生?我試着調試它,儘管它發生在遞增行注意到。修改地圖對的值
編輯:這裏是全功能
void VoteCollector::resultsBasedOnAge(std::vector<Voter>& voters)
{
std::map<int,std::pair<int,int>> ageVoters;
std::map<int,std::pair<int,int>>::iterator hasAge = ageVoters.begin();
for(unsigned i = 0; i < voters.size(); i++)
{
if(ageVoters.find(voters.at(i).getAge()) != ageVoters.end())
{
if(voters.at(i).getVote() == "leave")
{
hasAge->second.first++;
}
else if(voters.at(i).getVote() == "stay")
{
hasAge->second.second++;
}
hasAge++;
}
else
{
if(voters.at(i).getVote() == "leave")
{
ageVoters.insert(std::make_pair(voters.at(i).getAge(),std::make_pair(1,0)));
}
else if(voters.at(i).getVote() == "stay")
{
ageVoters.insert(std::make_pair(voters.at(i).getAge(),std::make_pair(0,1)));
}
hasAge++;
}
}
for(std::map<int,std::pair<int,int>>::iterator it = ageVoters.begin(); it != ageVoters.end(); it++)
{
std::cout << it->first << " years -- " << it->second.first << " leave.\t" << it->second.second << " stay\n";
}
}
請編輯您的問題包含一個[MCVE] – NathanOliver
既然你不顯示什麼'hasAge'是我懷疑任何人可以幫助很大。我猜'hasAge'實際上是你想要修改的副本。 – nwp
@NathanOliver你有MCVE的自動標記,如果是的話我怎樣才能導入它? – Slava