说,我有以下结构:
typedef struct my_struct{
unsigned long a;
unsigned long b;
char* c;
unsigned int d1 :1;
unsigned int d2 :4;
unsigned int d3 :4;
unsigned int d4 :23;
} my_type, *p_type;
该字段d3
当前由从until#define
到达的 s定义。0x00
0x0D
实际上,d3
是一个枚举。所以很想继续更换
unsigned int d3 :4;
经过
my_enum d3 :4;
这是安全/允许的吗?
代码必须用各种编译
- 编译器(GCC、Visual Studio、嵌入式的东西)
- 平台(Win32、Linux、嵌入式)
- 配置(编译为 C,编译为 C++)
显然,我可以保持d3
原样的定义并在我的代码中使用枚举,将其分配给d3
等等,但这不适用于 C++。