问题 In C++11 one can do struct S {int i = 42;}; and whenever one forgets to initialize the member i, it get default initialized to 42. I Just tried this with bitfields as struct S {int i = 42 : 5;}; and am getting error: expected ';' before ':' token Does this feature exist for bitfield members and if so, how do I use it? 回答1: No, bit-fields do not allow an initializer as part of the member declaration. You can see this in the part of the grammar that describes class members (C++11 and later,