【发布时间】:2015-12-11 19:29:34
【问题描述】:
我对我写的这段 (C++14) 代码感到困惑:
struct B {};
struct C { int m; };
struct D : B { int m; };
int main() {
C c = { 1 }; // this works
D d = { 1 }; // this doesn't work
}
我自己为D 编写构造函数很好,但我找不到一个很好的解释为什么结构D 不再可以用初始化列表初始化。我所做的只是让它继承自一个完全空的类——我想我以某种方式让它表现得不像结构。
我的编译器究竟如何以不同的方式处理结构 C 和 D?
【问题讨论】:
标签: c++ inheritance struct aggregate-initialization