[英]error C2512: 'Building' : no appropriate default constructor available
class Building{
private:
int floor;
public:
Building(int s) { floor = s;}
};
int Main(){
Building twin, star;
Building BlueHouse(5), JangMi(14);
}
我編寫了這段代碼,然后在生成代碼“錯誤C2512:'Building':沒有合適的默認構造函數”時出現。 自從我開始學習c ++以來只有短短幾周了,我遇到了很多困難; <幫助我,c ++大師!
當你寫:
Building twin, star;
這意味着使用默認構造函數創建twin
和star
,因為您未提供任何初始化程序。 但是您尚未定義默認構造函數,因此這是一個錯誤。
要解決此問題,請添加默認的構造函數,例如在class Building
的public
部分中:
Building(): floor(0) {}
請注意,我使用了語法來初始化構造函數中的變量,這實際上與Building() { floor = 0; }
Building() { floor = 0; }
當floor
只是一個int
,但如果你有哪些是類類型的其他成員變量,然后是有區別的。
或者,您可以向現有構造函數添加默認值:
Building(int s = 0): floor(s) {}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.