2013-08-02 30 views
1

我得到一个错误,我完全不知道为什么。我已经搜索这个网站,并不能找到什么...获取编译链接错误在下面的程序

我的错误是:`LNK2019:无法解析的外部符号“public:__thiscall campaign ::〜campaign(void)”(?? 1campaign @@ QAE @ XZ)在函数“public:__thiscall sale :: sale(int,int,int,class agent,class campaign) “

这里是我的代码:

​​

对不起,超长后,如果有人她e有15分钟左右的时间,没有什么比这更好的了,如果你能通过我的代码筛选并给我一个线索,说明我做错了什么,我将不胜感激。谢谢:)

+1

链接器明确指出“未解析的外部符号”public:__thiscall campaign ::〜campaign(void)“',这应该会给你一个线索! – Nbr44

+0

你声明〜活动析构函数,但你没有在任何地方定义 –

+0

我真的不明白这是什么意思说实话,对于真正的愚蠢感到抱歉:(我是新的整个C++的东西 - 心中给我另一个提示? – MathMajor

回答

1

你没有定义你的析构函数为campaign。把这个在您的实现文件吧:如果你希望你的类来使用默认的析构函数

campaign::~campaign() 
{ 

} 

,你可以从你的头文件中删除~campaign(void);,然后你就不需要定义它。

1

您没有执行campain::~campain()。既然你在头文件中声明它,你应该提供定义。在你的情况下,析构函数不是必需的,编译器提供的缺省值就足够了。所以从头文件中删除声明。

+0

呵呵,我现在觉得很愚蠢......感谢您的帮助!:) – MathMajor

1

声明该campaign析构函数,但还没有在任何地方定义它:

class campaign 
{ 
    public: 
     campaign(); 
     ~campaign(); // you need a definition for this 

您需要可以提供一个定义它(实现),或者,如果你不需要析构函数做任何特殊的东西,删除声明,让编译器自动为你提供析构函数。

0

由于Nbr44已经评论,您没有定义您的campaign::~campaign析构函数。您在头文件中声明了它,但是您没有提供定义

0

您不实施您的广告系列析构函数。 如果它是微不足道的,请不要声明