2012-07-09 115 views
0

我越來越:什麼是這個錯誤:「沒有適當的默認構造函數可用」?

main.cpp(13): error C2512: 'myPlayer' : no appropriate default constructor available

這裏是它指的是代碼:

myPlayer player; 

這裏是構造函數:

myPlayer (int myHealth, int myDamage, int myMoney, int myWeaponID, int myClass) : health(myHealth), damage(myDamage), money(myMoney), 
    weapon_id(myWeaponID), p_class(myClass) {} 

另外,我怎麼能顯示數字對於Visual Studio 11上的每一行?

+0

你有該類的默認構造函數(不帶參數) ?如果你不這樣做,你需要申報一個。 – Linuxios 2012-07-09 00:46:38

回答

6

您的構造函數被聲明爲需要5個參數,所有類型爲int。你沒有提供任何參數。

你的選擇是當你構造對象,喜歡寫,不需要論證,否則提供參數的構造函數:myPlayer player(1, 2, 3, 4, 5);

+0

選項3:給出所有參數的默認值。選項4(C++ 11):爲所有成員使用類內成員初始值設定項。現在我已經提供了一些東西,因爲我的老師非常具體,你的第一段應該以爭論結束,因爲他們是你賦予這個功能的東西。 – chris 2012-07-09 01:18:46

+0

@chris:您的選項3實際上是選項1 - 提供默認值僅僅是您創建對象時消除參數要求的一種方法。選項4也非常相似 - 另一種機制可以消除構建對象時傳遞參數的要求。 – 2012-07-09 01:29:29

+0

同樣的想法,是的,但不同的方法。根據情況,人們可能比其他人更好。 – chris 2012-07-09 02:02:18

相關問題