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