I have a struct called FOO that's versioned, so we have FOO_V0, FOO_V1, and FOO_V2. This is legacy architecture so I am currently not at a liberty to change it. However, I wanted to see if I could insert some compile-time checks such as static_assert that make sure FOO_V0 + d is F00_V1 and FOO_V1 + e is FOO_V2 so the integrity is somewhat enforced. Is that possible? TIA for any feedback!
typedef struct FOO_V0
{
UINT a;
BOOL b;
LARGE_INTEGER c;
} FOO_V0;
typedef struct FOO_V1
{
UINT a;
BOOL b;
LARGE_INTEGER c;
UINT d;
} FOO_V1;
typedef struct FOO_V2
{
UINT a;
BOOL b;
LARGE_INTEGER c;
UINT d;
BOOL e;
} FOO_V2;
Thanks.
Aucun commentaire:
Enregistrer un commentaire