版本化结构的编译时完整性验证

时间:2015-04-30 01:26:17

标签: c++ c++11 struct

我有一个名为FOO的结构版本,因此我们有FOO_V0FOO_V1FOO_V2。这是传统架构,所以我目前无权改变它。但是,我想看看是否可以插入一些编译时检查,例如static_assert,以确保FOO_V0 + dF00_V1FOO_V1 + eFOO_V2所以诚信有点强制执行。那可能吗?任何反馈意见的TIA!

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;

感谢。

0 个答案:

没有答案