下面是我正在处理的一段代码..
struct ArgusRecord {
struct ArgusRecordHeader hdr;
union {
struct ArgusMarStruct mar;
struct ArgusMarSupStruct sup;
struct ArgusFarStruct far;
struct ArgusEventStruct event;
#if defined ARGUS_PLURIBUS
struct ArgusVflowStruct vflow;
#endif
} ar_un;
};
我已将变量定义为
struct ArgusRecord MyRecord;
我可以调用第一个成员MyRecord.hdr
如果我调用mar
,sup
等工会成员的方式相同,我收到错误消息..... has no member named ‘mar’
< / p>
请有人告诉我如何致电工会成员。
答案 0 :(得分:3)
您必须使用union
名称ar_un
MyRecord.ar_un.mar
答案 1 :(得分:1)
使用点表示法访问工会成员。
换句话说,必须像这样访问mar
:
struct ArgusRecord record;
record.ar_un.mar (...)