具有枚举位字段初始化的结构的意外行为C ++ 14

时间:2016-08-08 20:00:08

标签: c++ struct enums visual-studio-2015 bit-fields

我有一个结构,其中一个位字段是枚举类型:

enum TCDATA_FORMAT { a, b, c, d  }; 
struct ctypetc { TCDATA_FORMAT Input : 16; TCDATA_FORMAT Output : 16; };

直到C ++ 11(VS2013)这个初始化工作正常:

ctypetc ctyp = { b, c };

但是使用C ++ 14(VS2015更新1),它将输入和输出初始化为0.有谁知道为什么?我猜这与枚举位字段有关。

编辑: 如果我尝试:

ctyp.Input = b;
ctyp.Output = c;

工作正常。

0 个答案:

没有答案