Сохранить конструктор по умолчанию в производных классах - PullRequest
0 голосов
/ 12 мая 2018

Как сохранить конструктор по умолчанию в производном классе, не добавляя Derived() = default; в производный класс?

struct Base
{
  Base() = default;
};

struct Derived : Base
{
  using Base::Base;

  explicit Derived(int) {}
};

int main()
{
  // Compilation error here
  Derived d;
}

1 Ответ

0 голосов
/ 14 мая 2018

Похоже, ошибка. Работает с более поздними версиями gcc. Я попробовал 7.1, это сработало. Работал и с лязгом. Какой компилятор вы используете?

См:

Наследование конструктора для класса, полученного из шаблона класса в Visual Studio 2015 rc

...