当我尝试使用以下方式声明多维数组时:
array<array<int, 7>, 5> arrayOne = {
{1, 5, 8, 0, 0, 0, 0},
{2, 3, 8, 7, 7, 0, 0},
{3, 4, 8, 2, 9, 0, 0},
{4, 8, 7, 1, 4, 0, 0},
{5, 7, 6, 8, 3, 0, 0} };
I get:
|10|error: too many initializers for 'std::array<std::array<int, 7u>, 5u>'
但是当我使用标准的[]数组时:
int arrayTwo[5][7]= {
{1, 5, 8, 0, 0, 0, 0},
{2, 3, 8, 7, 7, 0, 0},
{3, 4, 8, 2, 9, 0, 0},
{4, 8, 7, 1, 4, 0, 0},
{5, 7, 6, 8, 3, 0, 0} };
我没有收到任何错误信息。我在Windows 7 x64上使用mingw g++。我是c++和stackoverflow的新手,非常感谢您的耐心。
{}
来推导std::initializer_list
吗? - πάντα ῥεῖ