c++:数组,初始值设定项太多

c++: Arrays, too many initializers

本文关键字:太多 数组 c++      更新时间:2023-10-16
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
using namespace std;
int main(){
char somearray[6][5] = {{'M','a','r', 't', 'i', 'n'},
                        {'L','i','a','m','z'}};
for(int j=0; j<5; j++ ){
    for (int k = 0; k<5; k++ ){
        cout<< somearray[j][k];
    }
}

return 0;
}

错误:

 test.cpp: In function ‘int main()’:
 test.cpp:11:29: error: too many initializers for ‘char [5]’
     {'L','i','a','m','z'}};
有些我不明白,我

有一个错误,我试图弄乱多维数组初始值设定项,但是我不断收到相同的太多启动器错误。我遵循了c ++教程,但不断收到该错误。我不明白。

您的第一个元素somearray[0]有 6 个元素

{'M','a','r', 't', 'i', 'n'}

而不是 5。请记住,somearray[6][5]声明了一个包含 6 行和 5 列的二维数组,或者等效地声明了一个包含 6 个 char[5] 数组的 arrray。该错误似乎指示您的最后一个元素,但它实际上指示数组定义的结束。

不幸的是,你的编译器似乎有点愚蠢。

{'L','i','a','m','z'}还可以,但{'M','a','r', 't', 'i', 'n'}char[5]来说太长了.