簡體   English   中英

用c調用struct中的工會成員

[英]Calling union member in struct with c

以下是我正在處理的代碼。

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如果我以相同的方式調用諸如marsup ..等聯盟成員, MyRecord.hdr收到錯誤消息..... has no member named 'mar'

請有人告訴我如何給工會成員打電話。

您必須使用union名稱ar_un進行呼叫

MyRecord.ar_un.mar

聯合的成員以點表示法訪問。 換句話說,必須這樣訪問mar

struct ArgusRecord record;
record.ar_un.mar (...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM