类中多维数组的初始化

Initialization of multidimensional array in class

本文关键字:初始化 数组      更新时间:2023-10-16

我试图在c++中创建一个俄罗斯方块克隆,我想将这些碎片存储在多维数组中。我在头文件中这样声明:

class Pieces
{
public:
  Pieces();
private:
   int pieces[7][4][5][5];
};

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

Pieces::Pieces()
{
  pieces[7][4][5][5] = { /* ... all of the pieces go in here ... */ };
}

但是这不起作用,我得到了这样的错误:

src/Pieces.cpp:5:17: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘int’ in assignment

如何声明和初始化这个数组?

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
}