0

Arm "#pragma anon_unions" により、以下が可能になります。

typedef struct {
    uint32_t sensorID;
    uint8_t  messageHeader;
    uint8_t  messageID;
    uint16_t payloadLength;
} Header;

typedef struct {
    uint8_t startOfPacket[SERIAL_SOP_SIZE]; 
    Header; // Anonymous.
    uint8_t payload[SIZE];
} Packet;

Packet packet;
packet.messageID = 1; // Referencing member of Header through a Packet.

このコードを VisualStudio でコンパイルするためのアイデアはありますか?

4

1 に答える 1

0

Visual C ++でコンパイルされますが、Cモードでのみコンパイルされます。

Microsoft C拡張機能を使用すると、名前を付けずに別の構造内で構造変数を宣言できます。これらのネストされた構造は、匿名構造と呼ばれます。 C++では匿名構造は許可されていません。

于 2012-07-18T15:52:42.263 に答える