1

我收到一个错误,我完全不知道为什么..我已经搜索过这个网站,但找不到任何东西......

我的错误是:`LNK2019: 函数“public: __thiscall sale::sale(int,int,int ,类代理,类活动)"

这是我的代码:

#include "stdafx.h";
#include <iostream>
#include "campaign.h";

//constructor
campaign::campaign()
{
    campaign_name = "Campaign Undefined";
    campaign_id = -1;
    campaign_data_type = 0;
    campaign_region_type = 0;
}

/////////////////////////////
//Accessor Functions      //
///////////////////////////

std::string campaign::getName()
{
    return campaign_name;
}

int campaign::getCampID()
{
    return campaign_id;
}

int campaign::getDataType()
{
    return campaign_data_type;
}

int campaign::getRegionType()
{
    return campaign_region_type;
}

/////////////////////////////
//Mutator Functions       //
///////////////////////////

void campaign::setName(std::string newName)
{
    campaign_name = newName;
}

void campaign::setCampID(int newCampID)
{
    campaign_id = newCampID;
}

void campaign::setDataType(int newDType)
{
    campaign_data_type = newDType;
}

void campaign::setRegionType(int newRType)
{
    campaign_region_type = newRType;
}

很抱歉这篇超长的帖子,如果有人在这里有大约 15 分钟并且无事可做,如果你能筛选我的代码并给我一个关于我做错了什么的线索,我将不胜感激。谢谢 :)

4

5 回答 5

1

你没有实现campain::~campain(). 由于您在头文件中声明了它,因此您应该提供定义。在您的情况下,不需要析构函数,编译器提供的默认析构函数就足够了。所以从头文件中删除声明。

于 2013-08-02T08:37:22.527 回答
1

您已经声明了campaign析构函数,但没有在任何地方定义它:

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

您需要为其提供定义(实现),或者,如果您不需要析构函数做任何特殊的事情,请删除声明并让编译器自动为您提供析构函数。

于 2013-08-02T08:37:42.860 回答
1

您没有为campaign. 把它放在你的实现文件中:

campaign::~campaign()
{

}

如果你想让你的类使用默认的析构函数,你可以~campaign(void);从你的头文件中删除,然后你就不需要定义它了。

于 2013-08-02T08:37:57.953 回答
0

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

于 2013-08-02T08:38:09.043 回答
0

你没有实现你的活动析构函数。如果它是微不足道的,请不要声明它

于 2013-08-02T08:38:11.900 回答