2
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,这意味着无需显式编写构造函数?

4

1 回答 1

3

只有聚合可以以这种方式初始化(​​无需定义您自己的构造函数),并且作为聚合的要求之一是没有任何基类。简而言之,你不能那样做。

于 2013-09-12T01:01:36.813 回答