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。