C ++ – 数组的初始化程序太多
我已经制作了这样的数组但是它一直说我有太多的初始化器。 我该如何解决这个错误?
int people[6][9] = {{0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}};
int people[6][9] = { {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, };
C中的数组按行然后是列,因此在您定义的数组的初始值设定项中有6行9个整数,而不是9行6个整数。
这里的问题是你在数组声明部分中交换了行/列索引,因此编译器很困惑。
通常在声明多维数组时,第一个索引用于行,第二个索引用于列。
这个表格应该修复它:
int people[9][6] = {{0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}, {0,0,0,0,0,0}};
你在索引中混合了6和9。