0

我是n00b,所以请纠正我的任何事情。

我已经为此工作了几天并进行了研究,但似乎无法解决问题。这是针对主要使用Visual Studio的编程课,我的许多同学都没有问题。虽然,我在 Xcode 上,所以可能与此有关。基本上,我正在使用子类 Circle.h 和 Rectangle.h 创建一个名为 Geometric_Object 的纯虚拟对象,但是当我运行代码时,出现以下错误:

Undefined symbols for architecture x86_64:
"GeometricObject::GeometricObject()", referenced from:
Circle::Circle() in main.o
Rectangle::Rectangle() in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我已经迷失了。因为我没有足够的声望点,所以我无法发布所有链接,所以我不得不在 Dropbox 上将它们压缩为一个。希望有人可以为我绕过这个,所以没有人害怕解压缩内容。

https://dl.dropboxusercontent.com/u/82764116/Xcode.zip

4

1 回答 1

0

问题正是错误所说的。你还没有定义GeometricObject::GeometricObject(). 您还没有在 GeometricObject 中定义许多其他方法,例如析构函数、getColor、setColor 等。

我不确定您认为这些函数的定义在哪里,但它们不在您链接到的代码中。

您已经定义了(例如)Rectangle::Rectangle()。只需GeometricObject::GeometricObject()以相同的方式定义(以及所有其他缺失的定义)。

于 2013-04-29T22:19:40.653 回答