标签: c++ struct initialization
我不明白为什么我们可以直接将值分配给mi。通常,我们使用类似mi.a的格式,但在这种情况下,这会导致语法错误。有人可以向我解释一下吗?
mi
mi.a
struct myInt { int a[7]; }; myInt mi; mi= { 1,2,3,4,5,6,7 };
答案 0 :(得分:1)
它是一个初始化程序,C ++允许聚合的递归初始化,也就是说,如果初始化程序中不需要第二组{},那么它就不会是不明确的(因为它不能在这里,因为没有其他的memebrs初始化)。