类中多维数组的初始化 我试图在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
}
将
片段
放入构造函数的成员初始值设定项列表中。将片段
放入构造函数的成员初始值设定项列表中。