Kann jemand erklären, warum, wenn ich versuche, das Paar zu erhöhen, passiert nichts? Ich habe versucht, es zu debuggen und obwohl es zu der steigenden Zeile kommt, geschieht das.Ändern des Werts des Kartenpaars
EDIT: Hier ist die ganze Funktion
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";
}
}
Bearbeiten Sie Ihre Frage ein enthalten [MCVE] – NathanOliver
Da Sie zeigen nicht, was 'hasAge' ist ich jemand zweifeln kann viel helfen. Ich denke, 'hasAge' ist eigentlich eine Kopie von dem, was Sie ändern möchten. – nwp
@NathanOliver Haben Sie Auto-Tag für MCVE, wenn ja, wie kann ich es importieren? – Slava