2012-07-09 110 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

相关问题