如何在C++中初始化二维数组的数组(如下面代码中定义的)?
我收到了以下错误信息: $ g++ -std=c++11 arrays.cpp -o arrays arrays.cpp: 在函数‘int main(int, const char**)’中: arrays.cpp:39:32: 错误:必须使用括号包围的初始化器初始化数组 arrays.cpp:39:32: 错误:必须使用括号包围的初始化器初始化数组 arrays.cpp:39:32: 错误:必须使用括号包围的初始化器初始化数组
#include <iostream>
#include <array>
typedef int arr3by6Int[3][6];
typedef arr3by6Int arr3xarr3by6Int[3];
void print3by6(arr3by6Int arr)
{
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 6; j++)
{
std::cout << arr[i][j] << " ";
}
std::cout << std::endl;
}
}
int main(int argc, char const *argv[])
{
arr3by6Int a = {
{1,2,3,4,5,6},
{0,0,0,0,0,0},
{2,2,2,2,2,2}
};
arr3by6Int b = {
{2,2,3,4,5,6},
{0,0,0,0,0,0},
{2,2,2,2,2,2}
};
arr3by6Int c = {
{3,2,3,4,5,6},
{0,0,0,0,0,0},
{2,2,2,2,2,2}
};
arr3xarr3by6Int d = { a, b, c };
for(int i = 0; i < 3; i++)
{
print3by6(d[i]);
}
return 0;
}
我收到了以下错误信息: $ g++ -std=c++11 arrays.cpp -o arrays arrays.cpp: 在函数‘int main(int, const char**)’中: arrays.cpp:39:32: 错误:必须使用括号包围的初始化器初始化数组 arrays.cpp:39:32: 错误:必须使用括号包围的初始化器初始化数组 arrays.cpp:39:32: 错误:必须使用括号包围的初始化器初始化数组
typedef
运算符应该要求先取得许可证。它可能会非常迅速地使数据结构变得复杂和难以理解。 - PP.