实例化没有继承的对象时出错

时间:2015-02-14 20:52:41

标签: c++ cocos2d-x

到目前为止,我使用的是继承自其他类的类,现在我需要创建一个继承自任何东西的类。我从我的客户课程中调用它,我收到的错误对我来说没有意义。我做错了什么?

MathHelp .h

public:
    float addPerc(float whole, float perc);
    float subPerc(float whole, float perc);

MathHelp .cpp

float addPerc(float whole, float perc)
{
    return 0;
}

float subPerc(float whole, float perc)
{
    return 0;
}
来自客户的电话
MathHelp* mathHelp = new MathHelp();
float mathResult = mathHelp->addPerc(100,5);

错误:

error LNK2019: unresolved external symbol "public: float __thiscall MathHelp::addPerc(float,float)" (?addPerc@MathHelp@@QAEMMM@Z)
referenced in function "public: virtual void __thiscall EnergyManager::draw(class cocos2d::Renderer *,class cocos2d::Mat4 const &,unsigned int)" (?draw@EnergyManager@@UAEXPAVRenderer@cocos2d@@ABVMat4@3@I@Z)  

2 个答案:

答案 0 :(得分:1)

当您在类定义之外声明它们时,方法声明也需要具有该类的名称。

float MathHelp::addPerc(float whole, float perc)
{
    return 0;
}

float MathHelp::subPerc(float whole, float perc)
{
    return 0;
}

答案 1 :(得分:0)

使用已提供的代码,如果它们被直接出现在文件中,那么您将缺少MathHelp类的方法的范围,而是想要尝试这样的事情:

float MathHelp::addPerc(float whole, float perc)
{
    return 0;
}

float MathHelp::subPerc(float whole, float perc)
{
    return 0;
}