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 回答