clssの学生がいて、リポジトリの同じヘッダーでそのメンバー関数を問題なく使用しました...しかし、この関数でエラーが発生します:
..\StudentRepository.cpp:22:7: error: request for member 'setName' in 'st', which is of non-class type 'Student()'
そしてこれは機能です:
void StudentRepository::loadStudents(){
ifstream fl;
fl.open("studs.txt");
Student st();
string s,ss;
int loc;
if(fl.is_open()){
while(!(fl.eof())){
getline(fl,s);
loc = s.find(",");
ss = s.substr(0,loc);
st.setName(ss);
}
}
else{
cout<<"~~~ File couldn't be open! ~~~"<<endl;
}
fl.close();
}
同じファイルで、たとえば次の関数を使用していることに注意する必要があります。
void StudentRepository::editStudent(Student A){
int i;
i = findByName(A.getName());
if( i != 0 || i != NULL){
students[i].setGroup(A.getGroup());
students[i].setId(A.getID());
}
else{
throw RepoException("The name does not exist!");
}
saveStudents();
}