繼承構造器為什么這個代碼:class A{
public:
explicit A(int x) {}};class B: public A{};int main(void){
B *b = new B(5);
delete b;}導致這些錯誤:main.cpp: In function ‘int main()’:
main.cpp:13: error: no matching function for call to ‘B::B(int)’
main.cpp:8: note: candidates are: B::B()
main.cpp:8: note: B::B(const B&)B不應該繼承A的構造函數嗎?(這是GCC用的)
3 回答

拉丁的傳說
TA貢獻1789條經驗 獲得超8個贊
class A{public: explicit A(int x) {}};class B: public A{public: explicit B(int x) : A(x) { }};
更新
- 3 回答
- 0 關注
- 336 瀏覽
添加回答
舉報
0/150
提交
取消