C++在类构造函数初始化数组
就拿下面这段程序来说吧,为什么在给数组monthday[13]初始化时,提示“错误:应输入表达式”,但以前不把它定义成类,直接写在main函数里,就没问题啊,这是什么原因...
就拿下面这段程序来说吧,为什么在给数组monthday[13]初始化时,提示“错误:应输入表达式”,但以前不把它定义成类,直接写在main函数里,就没问题啊,这是什么原因呢?
#include<iostream>
using namespace std;
class CalDate
{
private:
int monthday[13];
public:
CalDate();
};
CalDate::CalDate()
{
monthday[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
//定义闰年每个月的天数,分别保存为monthdayr[1]至monthdayr[12]中
} 展开
#include<iostream>
using namespace std;
class CalDate
{
private:
int monthday[13];
public:
CalDate();
};
CalDate::CalDate()
{
monthday[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
//定义闰年每个月的天数,分别保存为monthdayr[1]至monthdayr[12]中
} 展开
展开全部
monthday[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
这样的写法只能在定义数组时使用,你已经定义好了数组,
你在这样写“monthday[13]“就变成一个数组里面的元素了,而不代表数组,而且还是越界的元素。。汗。你写 monthday[13] = 1;会编译成功,但是运行会出错。因为他是越界的。。汗。
即使你在main函数里先定义一个数组,在这样赋值。。那都是错误的,不可能是对的。
你只能白数组元素一个一个的赋值了,不能这样写了
这样的写法只能在定义数组时使用,你已经定义好了数组,
你在这样写“monthday[13]“就变成一个数组里面的元素了,而不代表数组,而且还是越界的元素。。汗。你写 monthday[13] = 1;会编译成功,但是运行会出错。因为他是越界的。。汗。
即使你在main函数里先定义一个数组,在这样赋值。。那都是错误的,不可能是对的。
你只能白数组元素一个一个的赋值了,不能这样写了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询