在創建對象,我們可以隱式或顯式調用構造器到參數的構造函數顯式調用拋出Error
Base obj;
Base obj = Base(1,2);
這兩種對象創建方法工作正常,直到我包括代碼拷貝構造函數。 這是代碼片段。
#include<iostream>
using namespace std;
class Base {
public:
Base(int x, int y) {}
Base() {}
Base(Base& o){}
private:
int a;
int b;
};
int main() {
Base obj = Base(10,20); /*This line throws error after including copy Ctor*/
Base obj2 = obj;
}
我正在使用Linux g ++編譯器。 錯誤:沒有匹配函數調用'Base :: Base(Base)'
我是否錯過了一些東西。
您是否刪除了相關代碼或者您的拷貝構造函數是否真的不初始化? – 2014-09-28 16:09:39