Arm“#杂注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编译这段代码,你有什么想法吗?
发布于 2012-07-18 23:52:42
它在Visual C++中编译,但在only in C mode中编译
一个微软C扩展允许你在另一个结构中声明一个结构变量,而不给它命名。这些嵌套结构称为匿名结构。C++不允许匿名结构。
https://stackoverflow.com/questions/11545041
复制相似问题