gpt4 book ai didi

c++ - 静态初始化数组 union 结构

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:22:18 26 4
gpt4 key购买 nike

我正在尝试为此类编写静态初始化器:

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 }
};

关于c++ - 静态初始化数组 union 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24237122/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com