首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义的对``rwhite::圆形::draw() const‘的引用

未定义的对``rwhite::圆形::draw() const‘的引用
EN

Stack Overflow用户
提问于 2011-11-24 18:01:15
回答 1查看 724关注 0票数 0

我不知道为什么我的它找不到这种方法;

我的圆圈文件

代码语言:javascript
复制
namespace rwhite {

class circle : public shape {
public:
//Draw shape
    void draw() const;
}

我的circle.cc文件;

代码语言:javascript
复制
using namespace std;

namespace rwhite{
    void circle::draw() const{
        cout << "You've drawn a Circle with a position of " << _center << " and a radius of " << _radius << ".\n";
    }
}

我的主要方法;

代码语言:javascript
复制
using namespace std;

#include "shape.h"
#include "circle.h"
#include "rectangle.h"
#include "triangle.h"
#include "shape-utils.h" // Contains answers to Q-3,4,6,7

using namespace rwhite;

int main(void) {
    circle    c;

    c.draw();
}

我收到这条错误消息--未定义的对‘`rwhite::圆形::draw() const’的引用

另外,当我单独编译circle.cc文件时,我会收到以下错误消息;

e:.....\libmingw32.a(main.o):main.c:(.text+0xd2):未定义的对‘`WinMain@16’的引用

EN

回答 1

Stack Overflow用户

发布于 2011-11-24 18:08:20

首先,方法draw()不是公共的,请尝试执行以下操作:

代码语言:javascript
复制
class circle : public shape {
public:
  void draw() const;
}

当您不指定任何访问说明符时,它将是私有的。

您将得到未定义的引用错误,因为链接器找不到符号。您用什么来编译文件,以及如何编译?您需要编译所有文件,然后将所有对象文件链接到一起。

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

https://stackoverflow.com/questions/8261033

复制
相关文章

相似问题

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