我尝试创建一个日期类,并希望将数组设置为:
class Date {
private:
int day;
int month;
int year;
int daysPerMonth[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
};
编译器给出一个错误,禁止像这样使用数组。我怎么能这样做?
答案 0 :(得分:0)
类成员的数组初始化(就地或使用初始化列表)是C ++ 11中的一项新功能。如果您的编译器支持更新的语言,则可以使用以下语法:
class Date {
private:
int daysPerMonth[12] {31,28,31,30,31,30,31,31,30,31,30,31};
};
然而,在每月天的情况下,它可能有点无意义(假设您只支持公历),因为这种事情往往被声明为{{1} (这些值永远不会改变,不需要多个实例),这将允许使用早于C ++ 11的语言功能轻松初始化数据。 例如
static const