我的事类是从它具有以下构造实体类派生没有默认构造函数存在类,但非默认通过
Entity::Entity(string sNames, double xcord, double ycord)
:m_sName(sNames), m_dX(xcord),m_dY(ycord){}
事情的构造是
Thing::Thing(string sName, double xcord, double ycord):
Entity(sName, xcord, ycord),
m_iHealth(100),m_Weapon(Weapon("Fists", false, 10.0, 5, 1.0, xcord, ycord)){}
的问题是我得到的错误“没有适当的默认构造函数可用“在我的Thing构造函数上。我指定使用我的实体构造函数而不是默认值的问题是什么。为了使更混乱了我的问题,我有一个从实体derieved另一个类的作品
Weapon::Weapon(string sName, bool iMagical, double dRange, int iDamage,double
dRadius, double dSpawnX, double dSpawnY):
Entity(sName, dSpawnX, dSpawnY), m_bMagical(iMagical), m_dRange(dRange), m_iDamage(iDamage),
m_dRadius(dRadius)
{
}
,如果没有错误运行,但它似乎是为我的事构造函数更多的变数同样的事情。我确定我错过了一些小事,但我一直难住。
你是对的,有一些剩余的代码没有被注释掉。看起来很奇怪,并且构造函数中出现了成员变量减速中的错误,不过谢谢。这总是帽子给我带来的简单的东西。
它可能没有类定义,你是否在Thing的头文件中声明实体,但忘记在Thing的cpp文件中包含#include? – Alex
您发布的代码很好。你可以在其他地方调用Entity()。 – billz
也许你有一些'Thing'的数据成员,它忘记了包含在你的初始化列表中,但没有默认的构造函数。 – john