为什么这段代码:
class A
{
public:
explicit A(int x) {}
};
class B: public A
{
};
int main(void)
{
B *b = new B(5);
delete b;
}
导致这些错误:
main.cpp:在函数“int main()”中: main.cpp:13:错误:没有匹配的函数调用'B::B(int)' main.cpp:8:注意:候选人是:B::B() main.cpp:8: 注意:B::B(const B&)
B不应该继承A的构造函数吗?
(这是使用 gcc)