定义了一个数组,运行后说 too many initializers,是怎么回事呢
定义的数组是:
double a[1][2]={{-0.662679},{-0.570544}};
[解决办法]
初始化器的数量超过第一维的维度了,改为:
double a[1][2] = { -0.662679, -0.570544 };
[解决办法]
double a[2][1]={{-0.662679},{-0.570544}}; 这样是可以的。
你打了多个括号,就是多维的数组
[解决办法]
你的这个数组和double a[2]没有什么区别(我是说在概念上来看)
但是实现一维数组和二维数组具体机制不同。
[解决办法]
二楼和三楼整合一下大约就应该能解决楼主疑惑了。
[解决办法]
double a[1][2]是一行两列的意思,而{{-0.662679},{-0.570544}};是两行一列的初始化方式
[解决办法]
double a[1][2]一行两列,而{{-0.662679},{-0.570544}};表示初始化为二行,至于列数不定,跟你指定的数组大小有关,例如double a[2][3] = {{-0.662679},{-0.570544}};第一行被初始化为-0.662679,0.0,0.0,
第二行被初始化为-0.570544,0.0,0.0