struct B {
B () {}
B(int i) {}
};
struct D : B {
using B::B; // <--- new C++11 feature
};
D d1; // ok
D d2(3); // ok
现在,如果我在 的主体内添加一个新的构造函数struct D
,例如:
struct D : B {
using B::B;
D(const char* pc) {} // <--- added
};
然后D d1;
开始给出编译器错误(ideone尚未升级,我使用的是g ++ 4.8.0)?但是D d2(3);
仍然有效。
为什么在内部添加新构造函数时默认构造函数会打折struct D
?