【发布时间】:2018-05-12 19:35:43
【问题描述】:
如何在派生类中保留默认构造函数,而不在派生类中添加Derived() = default;?
struct Base
{
Base() = default;
};
struct Derived : Base
{
using Base::Base;
explicit Derived(int) {}
};
int main()
{
// Compilation error here
Derived d;
}
【问题讨论】:
-
无法复制。你遇到了什么错误?
-
有什么理由不想显式默认默认构造函数?
-
@NicolBolas 不是真的,但由于我有很多派生类,我想避免很多明确的默认 c'tors..
-
使用 GCC 7.2.0 为我编译。