gpt4 book ai didi

c++ - 在类中初始化静态 union

转载 作者:太空狗 更新时间:2023-10-29 21:06:54 28 4
gpt4 key购买 nike

我使用像这样在类中声明静态 union 的开源代码。

VAD.h:

class VD
{
public:
static union Wu
{
const short w[2 * 64];
const double y[16];
} wu;
};

VAD.cpp:

VD:: Wu  VD:: wu =
{
0x0000, 0x7FFF, 0x0000, 0x7FFF, 0x0000, 0x7FFF, 0x0C8B, 0x7F61,
0x18F8, 0x7D89, 0x2527, 0x7A7C, 0x18F8, 0x7D89, 0x30FB, 0x7641,
0x471C, 0x6A6D, 0x2527, 0x7A7C, 0x471C, 0x6A6D, 0x62F1, 0x5133,
0x30FB, 0x7641, 0x5A82, 0x5A82, 0x7641, 0x30FB, 0x3C56, 0x70E2,
0x6A6D, 0x471C, 0x7F61, 0x0C8B, 0x471C, 0x6A6D, 0x7641, 0x30FB,
0x7D89, -0x18F8, 0x5133, 0x62F1, 0x7D89, 0x18F8, 0x70E2, -0x3C56,
0x5A82, 0x5A82, 0x7FFF, 0x0000, 0x5A82, -0x5A82, 0x62F1, 0x5133,
0x7D89, -0x18F8, 0x3C56, -0x70E2, 0x6A6D, 0x471C, 0x7641, -0x30FB,
0x18F8, -0x7D89, 0x70E2, 0x3C56, 0x6A6D, -0x471C, -0x0C8B, -0x7F61,
0x7641, 0x30FB, 0x5A82, -0x5A82, -0x30FB, -0x7641, 0x7A7C, 0x2527,
0x471C, -0x6A6D, -0x5133, -0x62F1, 0x7D89, 0x18F8, 0x30FB, -0x7641,
-0x6A6D, -0x471C, 0x7F61, 0x0C8B, 0x18F8, -0x7D89, -0x7A7C, -0x2527,
0x0000, 0x7FFF, 0x0000, 0x7FFF, 0x0000, 0x7FFF, 0x30FB, 0x7641,
0x5A82, 0x5A82, 0x7641, 0x30FB, 0x5A82, 0x5A82, 0x7FFF, 0x0000,
0x5A82, -0x5A82, 0x7641, 0x30FB, 0x5A82, -0x5A82, -0x30FB, -0x7641
};

当我在 Windows 上使用 VC++ 6.0 编译这段代码时,发生了这个错误:

public: static union VD::Wu VD::wu' : non-aggregates cannot be initialized with initializer list

谁能帮帮我?

最佳答案

你需要一对额外的花括号,因为你想初始化嵌套在 union 中的数组:

VD:: Wu  VD:: wu =
{
{ // <-- forgot
<snip />
} // <-- these
};

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

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