标签: inheritance c++11 constructor value-initialization
struct base { }; //struct derived { // <--- this one works struct derived : public base { // <--- but this one doesn't double x; }; main () { derived d{0.5}; return 0; }
使用大括号初始化derived的方法是什么,这意味着没有明确编写构造函数?
derived
答案 0 :(得分:3)
只有aggregates可以用这种方式初始化(没有定义你自己的构造函数),并且作为聚合的要求之一是没有任何基类。简而言之,你不能这样做。