c ++:数组,初始化程序太多
c++: Arrays, too many initializers
#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 列的二维数组,或者等效地,char[5]
的 6 个数组的数组。该错误似乎表明您的最后一个元素,但它实际上表明数组定义结束。
不幸的是,您的编译器似乎有点笨。
{'L','i','a','m','z'}
可以,但是 {'M','a','r', 't', 'i', 'n'}
对于 char[5]
来说太长了。
#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 列的二维数组,或者等效地,char[5]
的 6 个数组的数组。该错误似乎表明您的最后一个元素,但它实际上表明数组定义结束。
不幸的是,您的编译器似乎有点笨。
{'L','i','a','m','z'}
可以,但是 {'M','a','r', 't', 'i', 'n'}
对于 char[5]
来说太长了。