C++ - 数组的初始化程序太多

Xel*_*lza 7 c c++ initialization multidimensional-array

我已经制作了这样的数组,但后来它一直说我有太多的初始化器.我该如何解决这个错误?

        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}};
Run Code Online (Sandbox Code Playgroud)

The*_*eAJ 9

这里的问题是你在数组声明部分中交换了行/列索引,因此编译器很困惑.

通常在声明多维数组时,第一个索引用于行,第二个索引用于列.

这个表格应该修复它:

   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}};
Run Code Online (Sandbox Code Playgroud)


Jon*_*ler 6

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},
};
Run Code Online (Sandbox Code Playgroud)

C 中的数组按行然后列的顺序排列,因此您定义的数组的初始值设定项中有 6 行 9 个整数,而不是 9 行 6 个整数。