类中多维数组的初始化 我试图在C++中创建一个俄罗斯方块克隆,我想把这些片段存储在多维数组中。我在头文件中声明如下: class Pieces { public: Pieces(); private: int pieces[7][4][5][5]; }; src/Pieces.cpp:5:17: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘int’ in assignment

类中多维数组的初始化 我试图在C++中创建一个俄罗斯方块克隆,我想把这些片段存储在多维数组中。我在头文件中声明如下: class Pieces { public: Pieces(); private: int pieces[7][4][5][5]; }; src/Pieces.cpp:5:17: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘int’ in assignment,c++,arrays,multidimensional-array,C++,Arrays,Multidimensional Array,我试图在构造函数中初始化它: Pieces::Pieces() { pieces[7][4][5][5] = { /* ... all of the pieces go in here ... */ }; } 但这不起作用,我得到一个类似这样的错误: class Pieces { public: Pieces(); private: int pieces[7][4][5][5]; }; src/Pieces.cpp:5:17: error: cannot convert

我试图在构造函数中初始化它:

Pieces::Pieces()
{
  pieces[7][4][5][5] = { /* ... all of the pieces go in here ... */ };
}
但这不起作用,我得到一个类似这样的错误:

class Pieces
{

public:
  Pieces();

private:
   int pieces[7][4][5][5];

};
src/Pieces.cpp:5:17: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘int’ in assignment
src/Pieces.cpp:5:17:错误:无法在赋值中将“”转换为“int”
如何声明和初始化此数组?

在C++11中:

Pieces::Pieces()
    : pieces{ /* ... all of the pieces go in here ... */ }
{

}
在C++03中:

Pieces::Pieces()
{
    // iterate over all fields and assign each one separately
}
在C++11中:

Pieces::Pieces()
    : pieces{ /* ... all of the pieces go in here ... */ }
{

}
在C++03中:

Pieces::Pieces()
{
    // iterate over all fields and assign each one separately
}

片段
放入构造函数的成员初始值设定项列表中。将
片段
放入构造函数的成员初始值设定项列表中。