联合初始化中的结构
struct in union initialize
目前,我在联合中有一个结构。例如,
Struct foo{
Union u{
Struct s1{
int i1;
} ss1;
Struct s2{
int i2;
} ss2;
} wrap;
};
所以当我想初始化联合时,我尝试这样做。
foo f = {};
f.u.ss1 = {
.i1 = 0;
}
但错误显示 operator = 不匹配(操作数类型和大括号括起来的初始化列表)。
那么正确的初始化方法是什么?提前致谢。
初始化应该是:
foo f;
f.wrap.ss1 = {0 /*, comma seperated values, */};
目前,我在联合中有一个结构。例如,
Struct foo{
Union u{
Struct s1{
int i1;
} ss1;
Struct s2{
int i2;
} ss2;
} wrap;
};
所以当我想初始化联合时,我尝试这样做。
foo f = {};
f.u.ss1 = {
.i1 = 0;
}
但错误显示 operator = 不匹配(操作数类型和大括号括起来的初始化列表)。
那么正确的初始化方法是什么?提前致谢。
初始化应该是:
foo f;
f.wrap.ss1 = {0 /*, comma seperated values, */};