1
我在工作中使用联合和匿名结构。我想知道如何访问它内部的结构成员。就像如果我想使用union变量访问结构的G变量那么我该怎么做。请帮助:)无法访问工会内的匿名结构成员
typedef union
{
uint8_t All;
struct
{
uint8_t G:1;
uint8_t O_B:1;
uint8_t Unused:1;
uint8_t W1:1;
uint8_t W2:1;
uint8_t Y1:1;
uint8_t Y2:1;
uint8_t IAQ:1;
};
} _UNION_VARIABLE;
我收到编译错误的访问结构成员象下面这样:
_UNION_VARIABLE sg_RefreshVar;
sg_RefreshVar.G = false;
错误: #137 union "<unnamed>" has no field "G"
如果结构是匿名的,那么该如何访问其成员呢? – Viki
@vikram结构是匿名的,它没有类型名称。你想要的是一个非标准的扩展(大多数编译器都支持)。你使用的是什么编译器和什么平台。另外,我假设这是在C? – Cramer
Thnx @ Cramer,是的代码是C,我使用Code Composer studio v5.0。我有一段代码,我有一个结构里面没有类型名称和实例的结构,我们仍然想使用联合实例访问结构成员,我想知道是否有可能,如果是的话,怎么样? – Viki