DemoApplication::DemoApplication() : BaseApplication("DemoApplication"),
m_var1(false),
m_var2(false)
{
........
}
现在我需要添加一个具有参数的构造函数。添加新的构造函数C++
DemoApplication::DemoApplication(myParam1)
{
........
}
我得到“没有适当的默认构造函数可用”。
DemoApplication::DemoApplication() : BaseApplication("DemoApplication"),
m_var1(false),
m_var2(false)
{
........
}
现在我需要添加一个具有参数的构造函数。添加新的构造函数C++
DemoApplication::DemoApplication(myParam1)
{
........
}
我得到“没有适当的默认构造函数可用”。
假设错误消息来自构造函数的定义,它是指一个或多个BaseApplication
,m_var1
或m_var2
没有一个默认的构造函数,所以需要在构造函数的初始化器列表进行初始化,就像你做在默认的构造函数中。
我的赌注的确在'BaseApplication'上。 – 2015-02-10 11:44:03
施工总是从基础班开始。如果有多个基类,则从最左边开始。 (注意:如果存在虚拟继承,则给它更高的优先级)。
如果您还没有明确调用基类的构造函数,那么将会调用基类的默认构造函数。
DemoApplication::DemoApplication(myParam1)
如果在你的基类中没有默认构造函数,那么它会给你错误'没有合适的默认构造函数可用'。
你打算如何调用构造函数?向你的问题添加更多的代码会很有用。 – emlai 2015-02-10 11:40:49