如何在派生类中保留默认构造函数,而不在派生类中添加Derived() = default;
?
struct Base
{
Base() = default;
};
struct Derived : Base
{
using Base::Base;
explicit Derived(int) {}
};
int main()
{
// Compilation error here
Derived d;
}
答案 0 :(得分:0)
好像是一个错误。它适用于更高版本的gcc。我试过7.1,它有效。也和clang一起工作。你正在使用哪种编译器?
请参阅:
Constructor inheritance for class derived from template class in visual studio 2015 rc