错误C2512:'建筑' :没有适当的默认构造函数可用

时间:2014-03-29 03:58:25

标签: constructor building

class Building{
private:
int floor;
public:
Building(int s) { floor = s;}
};

int Main(){
Building twin, star;
Building BlueHouse(5), JangMi(14);
}

我制作了这段代码,当我构建代码时,错误C2512:'构建' :没有合适的默认构造函数'过来。自从我开始学习c ++以来,仅仅几周时间,我已经度过了相当艰难的时期;<帮助我,c ++大师!

1 个答案:

答案 0 :(得分:0)

当你写:

Building twin, star;

它意味着使用默认构造函数创建twinstar,因为您没有提供任何初始值设定项。但是你没有定义默认构造函数,所以这是一个错误。

要解决此问题,请添加默认构造函数,例如在class Building的{​​{1}}部分内:

public

请注意,我在构造函数中使用了初始化变量的语法,当Building(): floor(0) {} 只是Building() { floor = 0; }时,这实际上与floor相同,但是如果你有其他成员变量那么属于阶级类型,然后有区别。

或者,您可以为现有构造函数添加默认值:

int