在 C++11 中可以做到
struct S {int i = 42;};
如果忘记初始化成员 i
它
默认初始化为 42。我刚刚尝试了这个
位域为
struct S {int i = 42 : 5;};
正在得到
error: expected ';' before ':' token
位域成员是否存在此功能?如果存在,我该如何使用?
最佳答案
位域初始化的语法是
struct S {int i: 5 = 42;};
目前仅在 c++20 中可用:-std=c++2a
关于c++ - 位域元素的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27057973/