Ik gebruik in visual studio 2008 c++ een structure als volgt:
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef struct { DWORD dt;
BYTE chan;
BYTE sz;
BYTE id;
BYTE x[8];
BYTE flag;
} RECSTRUCT;
Deze struct is dus 16 bytes lang, en werkt prima.
Wat ik eigenlijk wil is dit:
typedef struct { DWORD dt;
BYTE chan;
BYTE sz;
BYTE id;
union {
BYTE x[8];
WORD wrd;
};
BYTE flag;
} RECSTRUCT;
Dus een unnamed union in een struct. Het programma gaat op zijn bek. de struct is plotseling 20 bytes lang. De x[...] zijn opgeschoven.
Doe ik iets fout?
Gr
Ruud
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef struct { DWORD dt;
BYTE chan;
BYTE sz;
BYTE id;
BYTE x[8];
BYTE flag;
} RECSTRUCT;
Deze struct is dus 16 bytes lang, en werkt prima.
Wat ik eigenlijk wil is dit:
typedef struct { DWORD dt;
BYTE chan;
BYTE sz;
BYTE id;
union {
BYTE x[8];
WORD wrd;
};
BYTE flag;
} RECSTRUCT;
Dus een unnamed union in een struct. Het programma gaat op zijn bek. de struct is plotseling 20 bytes lang. De x[...] zijn opgeschoven.
Doe ik iets fout?
Gr
Ruud