gpt4 book ai didi

c++ - 访问类内的 union 中的变量

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:11:33 25 4
gpt4 key购买 nike

很抱歉在 C++ 中提出天真的问题。对于下面的代码,有一个类,其中有一个具有两个变量的 union 声明。如何使用以下代码中的类对象访问 union 中的变量:

class my
{

public:
//class member functions, and oeprator overloaded functions

public:

union uif
{
unsigned int i;
float f;
};

private:
//some class specific variables.

};

如果有一个我定义的类型的对象

my v1;

稍后在函数中

使用 v1 我如何访问 float f;在代码中上面的 union 内?

我还想在调试器(VS-2010)的监 window 口中观察这个 float f 的值,该怎么做?

我尝试了 v1.uif.f ,这在监 window 口中给出了错误:Error oeprator needs class struct or union。

v1.

最佳答案

您只是在类的范围内定义 union ,而不是实际创建其类型的成员变量。因此,将您的代码更改为:

class my 
{

public:
//class member functions, and oeprator (sic) overloaded functions

public:

union uif
{
unsigned int i;
float f;
} value;

private:
//some class specific variables.

};

现在您可以在您的 union 成员中设置成员变量,如下所示:

my m;

m.value.i=57;
// ...
m.value.f=123.45f;

关于c++ - 访问类内的 union 中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7558058/

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