簡體   English   中英

錯誤C2512:“建築物”:沒有適當的默認構造函數

[英]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;

這意味着使用默認構造函數創建twinstar ,因為您未提供任何初始化程序。 但是您尚未定義默認構造函數,因此這是一個錯誤。

要解決此問題,請添加默認的構造函數,例如在class Buildingpublic部分中:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM