首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误LNK2019:未解析函数_main中引用的外部符号"public:__thiscall rectangle::rectangle(void)“(??0rectangle@@QAE@XZ)

错误LNK2019:未解析函数_main中引用的外部符号"public:__thiscall rectangle::rectangle(void)“(??0rectangle@@QAE@XZ)
EN

Stack Overflow用户
提问于 2013-08-22 03:22:59
回答 1查看 9.3K关注 0票数 0

以下代码是教程的一部分。我已经根据教程检查了无数次代码,虽然它可以在视频上运行,但我的程序有以下错误:

代码语言:javascript
复制
1>------ Build started: Project: simpleclass, Configuration: Debug Win32 ------
1>main.obj : error LNK2019: unresolved external symbol "public: __thiscall rectangle::rectangle(void)" (??0rectangle@@QAE@XZ) referenced in function _main
1>C:\Users\Bob K\Documents\Visual Studio 2010\Projects\simpleclass\Debug\simpleclass.exe : fatal error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

代码如下:

代码语言:javascript
复制
#include <iostream>

class rectangle
{
private:
    double length;
    double width;
public:
    rectangle();
    ~rectangle();
        double calcperim() const;
        double calcarea() const;
        double getlength() const;
        double getwidth() const;
        void setlength(double l);
        void setwidth(double w);

};

rectangle::~rectangle()
{
}

double rectangle::calcperim() const
{
    return ( length + length + width + width);
}

double rectangle::getlength() const
{
    return length;
}

double rectangle::getwidth()const
{
    return width;
}

void rectangle::setwidth( double w)
{   
    width = w;
}
void rectangle::setlength(double l)
{
    length = l;
}

double rectangle::calcarea() const
{
    return (length * width);
}



int main()
{
using namespace std;

    rectangle r;
    r.setwidth(3);
    r.setlength(9);

    cout << "length " << r.getlength() << endl;
    cout << "width " << r.getwidth() << endl;
    cout << "perimiter: " << r.calcperim() << endl;
    cout << "Area: " << r.calcarea() << endl;


    system("pause");
return 0;
}

请帮帮忙。我几年前就开始编程了,现在我正试着重新开始编程。

EN

回答 1

Stack Overflow用户

发布于 2013-08-22 03:24:08

您缺少rectangle构造函数的实现

代码语言:javascript
复制
rectangle::rectangle()
{
    length = 0;
    width = 0;
}

或者,如果您不关心初始化成员,只需从类定义中删除构造函数的定义即可。(请注意,这可能是不可取的;我只是为了完整性而将其包含在内。)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18365914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档