裏面我有一個構造函數的一個問題。 我有兩個類(MyClass1,MyClass2)。錯誤C2512:沒有適當的默認構造函數可用:使用參數聲明對象!構造
MyClass1.h
class MyClass1 {
public:
MyClass1();
...
private:
MyClass2 object;
...
}
MyClass1.cpp
#include "MyClass1.h"
MyClass1::MyClass1() { //This constructor causes the error!!!
object = MyClass2(1000);
...
}
...
MyClass2.h
class MyClass2 {
public:
MyClass2(int);
...
private:
int id;
...
}
MyClass2.cpp
#include "MyClass2.h"
MyClass2::MyClass2(int id) {
this->id = id;
...
}
...
當創建「MyClass1的」我收到此錯誤消息的實例:
error C2512: 'MyClass2': no appropriate default constructor available
使用一個初始化列表來初始化,而不是做的是,在構造函數體中的成員變量。 – user0042
在哪裏'的#include 「MyClass2.h」''中MyClass1.cpp'?似乎應該在那裏,因爲你參考了'MyClass2'。 – InternetAussie