void Exam:: read_questions(string filename) const{
ifstream file;
file.open(filename);
if (file.is_open()){
string line;
while(getline(file,line)){
Question* currentQuestion = parse_question(line);
question_list.push_back(currentQuestion);
}
}else{
cout << "invalid file" << endl;
}
file.close();
}
这条线有问题,question_list.push_back(currentQuestion);
它会给出一个错误提示
没有重载函数的实例
并且还说
push_back' : 2 个重载对带有 [ _Ty=Question * ] 的 'this' 指针 1 没有合法转换
这个错误是什么意思,我该如何解决?
这是考试的头文件:
class Exam
{
public:
Exam();
Exam(int num_q, int min_chap, int max_chap);
void read_questions(string filename) const;
~Exam();
void write_exam(string filename) const;
void write_key(string filename) const;
void shuffle();
private:
vector<Question *> question_list;
int minC;
int maxC;
int numQ;
};