我正在尝试为此类编写静态初始化器:
class Cube3x3
{
union CornerData
{
u8 mData8[8];
u32 mData16[4];
u32 mData32[2];
u64 mData64;
};
union EdgeData
{
u8 mData8[12];
u32 mData32[3];
};
CornerData mCorners;
EdgeData mEdges;
static const Cube3x3 sSolved;
};
我已经尝试过了,还有很多变体,但似乎我尝试的任何方法都行不通。
const Cube3x3 Cube3x3::sSolved =
{
{ 0, 0, 1, 0, 0, 0, 1, 0 },
{ 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 }
};
有谁知道如何静态地初始化它?
最佳答案
如果您愿意将Cube3x3
从类更改为结构,则可以使用:
const Cube3x3 Cube3x3::sSolved = {0};
更新
使用结构时,也可以使用非零值初始化成员,就像在更新的问题中一样。
const Cube3x3 Cube3x3::sSolved =
{
{ 0, 0, 1, 0, 0, 0, 1, 0 },
{ 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0 }
};