Брекеты (без конструктора) инициализация производного класса

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 используя фигурные скобки, то есть без явного написания конструктора?

1 ответ

Решение

Только агрегаты могут быть инициализированы таким образом (без определения вашего собственного конструктора), и одно из требований быть агрегатом - не иметь никаких базовых классов. Короче говоря, вы не можете этого сделать.

Другие вопросы по тегам