J'ai une union qui est défini comme suit:Comment accéder aux membres internes d'un syndicat?
typedef union {
enum {
REVISION = 0,
CURRENT_VERSION = REVISION
};
enum FLAGS{
FLAG_DEFAULT = 0x00000000,
FLAG_EOD = 0x00000001,
FLAG_OUTOFORDER = 0x00000002
};
CHAR _filler[32];
struct INTERNAL_STRUCTURE {
UINT16 type;
UINT16 flags;
};
}CORRHDR
Comment puis-je accéder de mon code de INTERNAL_STRUCTURE de membre?
J'ai pensé que je pouvais le faire:
CORRHDR hdr;
hdr.INTERNAL_STRUCTURE.type = 1;
je me trompe. Je peux voir les enums dans l'union, mais rien d'autre. Quelqu'un pourrait-il expliquer la structure (ou le bénéfice) de ce type pour moi?
[Je suis le portage d'un système unix aux fenêtres]. La définition d'une structure de cette manière (à l'intérieur de l'union sans nom d'instance) peut-elle être simplement une référence de développeur pour les données binaires contenues dans l'union? – scottm
Oui, avec la déclaration comme donnée, vous pouvez accéder aux données à l'intérieur en utilisant quelque chose comme: reinterpret_cast (ch._filler) -> type mais cela semble bizarre. –