这似乎是重复的。相反,我试着在StackOverflow上找到类似的问题,但我无法解决链接器错误。“无法解析的外部符号public _thiscall”链接器错误调用构造函数和析构函数
这些是链接错误:
1.
LNK2001解析的外部符号 “公共:__thiscall GED :: Mathematichs :: GFraction ::〜GFraction(无效)”(?? 1GFraction @ Mathematichs @ @@ GED QAE @ XZ)
和2
LNK2001解析的外部符号 “公共:__thiscall GED :: Mathematichs :: GFraction :: GFraction(INT,INT)”(?? 0GFraction @ Mathematichs @ @@ GED QAE @ HH @ Z)
我已经将这个项目链接到我的静态库(其中定义了GFraction)。 问题不在于链接到库,因为我在那个库中有其他类实际上工作。
这是构造函数和析构函数
#ifndef GFraction_H
#define GFraction_H
#include <string>
namespace ged
{
namespace Mathematichs
{
class GFraction
{
public:
GFraction();
GFraction(int num, int den);
};
}
}
#endif
在.cpp文件的定义,我有这样的:
#include "GFraction.h"
using namespace ged::Mathematichs;
GFraction::GFraction() {}
GFraction::~GFraction() {}
但是,如果我尝试实现costructors和身体直接在.h文件中析构函数,链接器错误消失。
为什么?我希望那些在.cpp文件中!
其中的分数和denomatior从GFraction类? – val
@val它们是私有变量。我没有在这里写他们,不要让这个混淆 – Michele