Ich versuche, den Inhalt einer Karte in eine andere einzufügen. Hier ist der Code:Warum erhalte ich beim Einfügen in eine Karte einen Seg-Fehler?
std::map<std::string, int> Student::getGrades() const;
...
for(set<Student*, Cmp>::const_iterator it = s.begin(); it!=s.end(); ++it)
{
grades.clear();
grades.insert((*it)->getGrades().begin(), (*it)->getGrades().end());
for(map<string, int>::const_iterator itt = grades.begin(); itt!=grades.end(); ++itt)
{
if(itt->first == course && itt->second >= score1 && itt->second <= score2)
(*it)->display(cout);
}
}
s ist ein Satz, die Zeiger auf Schüler Objekte und jeder Student Objekte enthält, hat eine getGrades() -Methode, die eine Karte zurückgibt. Ich versuche, Noten zu finden, die mit den Noten übereinstimmen, die ich aus einer Datei eingelesen habe, und den entsprechenden Datensatz auszudrucken. Die Einfügemethode gibt mir jedoch einen Seg-Fehler. Irgendwelche Vorschläge?
Können Sie die Deklaration von 'Student :: getGrades()' anzeigen? – alexisdm