int a[3] = {1, 2, 3}; // ok
int b[3];
b[3] = {1, 2, 3}; // error of course
C++ 中, 不能用第二种方式 对数组 初始化, 除非 像a一样, 在定义的时候 可以.
=====
多说一些:
如果 Lesson 没有默认的构造函数, 那么在Stu 类中 又没有显式的调用 Lesson 的 非默认构造函数的话, 会编译错误.
这点在
所以对于 你的问题,
对 Lesson 添加 默认构造函数.
像这样 :
Student(string nam,int id,int num,char YN)
:name(nam),ID(id),number(num),yn(YN),
le{{"ss", "22", 3, 'c'}, {"hh", "11", 4, 'l'}, .....} // 对类中成员 为 数组的 初始化, 必须 在这里(构造函数的初始化列表中, 而不能在它的函数体中)
{ // 不能在这.
}