C++ C++;矢量问题“;阻止匹配的限定符“;
问题在于,您通过以下方式声明C++ C++;矢量问题“;阻止匹配的限定符“;,c++,vector,C++,Vector,问题在于,您通过以下方式声明阅读问题: 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;
阅读问题
:
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;
};
这里的const
表示函数不会修改调用它的对象。然后在函数中执行以下操作:
void Exam:: read_questions(string filename) const
问题列表
是一个成员变量,因此您违反了承诺。编译器正在调用它。提示:“限定符”的意思是const
或volatile
。您是否#在cpp文件中包含“问题”
?此外,您还可以使用const
来处理read\u-question
,这意味着question\u-list
不应该在内部更改。这里的每个指针似乎都是不必要的。
void Exam:: read_questions(string filename) const
question_list.push_back(currentQuestion);