由于类的常成员变量必须在构造函数初始化列表中初始化,但这里常成员变量是个数组,不能使用初始化列表初始化。你可以看看这里的两种替换方法:blog csdn net/simplebelief/article/details/5797465 空格处自行加点
没有注意到你说要是常数组
没有办法直接初始化常成员数组,除非你把它声明为静态
要不就只能
const string[2] str{"AM","PM"};
class time
{
private:
const string s[2];
public:
time():s(str){};
}
你这个数组可以声明为静态成员变量,在类外赋值
class time {
private:
static const string s[2];
};
const string time::s[2] = {"A", "B"};
const string s[2]{"AM","PM"};c+11可以这样要include