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

Error while instantiating an object without inheritance

本文关键字:对象 出错 继承 实例化      更新时间:2023-10-16

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

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)  

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

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

对于已经提供的代码,如果它们直接出现在文件中,那么您就错过了MathHelp类方法的作用域,您应该尝试这样的方法:

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