クラス教員には、科目のセットがあります。このセットを調べて、各科目で、この科目に学生を追加する関数を呼び出したいと思います。これが私の関数の外観です。
void Faculty::addStudent(Student* n) {
this->Students.insert(n);
set<Subject*>::iterator it;
for(it = this->Subjects.begin(); it != this->Subjects.end(); it++) {
(*it)->addStudent(n);
}
}
問題は、エラーが発生することです。
Unhandled exception at 0x01341c6d in University.exe: 0xC0000005: Access violation reading location 0x1000694d.
Micorosft Visual 2010 を使用しています。
私はC++が初めてです。
他に必要な情報を提供できますが、どれかわかりません。必要なものがあれば教えてください。
class Student: public Human {
friend class University;
friend class Faculty;
friend class Subject;
public:
Student(string name, string surname);
~Student();
void Index(int n);
private:
int index;
};