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);