通过构造函数插入 std::map

Inserting std::map through constructor

所以我有一个学生 class 有一张课程名称和成绩的地图,但我不知道 main 中构造函数的语法。

class Student{

public:

    const string& name;
    const string& personalInfo;
    map<string,int> grade_list;
    Student(const string &name, const string &personalInfo, map<string, int> gradeList)
            : name(name), personalInfo(personalInfo), grade_list(gradeList) {}};
int main(){

    Student s("Arthur","english student",{"French",5});
}

您已经猜到了语法错误。像这样修复它:

Student s("Arthur", "english student", {{"French",5}} );

您需要花括号 它的值。