【发布时间】:2014-04-23 14:58:47
【问题描述】:
我有一个 c++ 项目,它有一个名为 A 的类。
我还有一个头文件,叫做Definitions.h。
我在头文件中写了如下代码:
A* aClass;
在应用程序的主要部分,我写道:
aClass = new A();
这给了我使用它的其他类对A 类的重新定义错误。
所以上网查了一下,发现应该是在减速中加了extern关键字,所以把头文件的减速类修改成这样:
extern A* aClass;
现在我收到 LNK2001 错误。
我错过了什么?
【问题讨论】:
-
能否给出完整的代码示例
-
通过额外的 A* aClass 使其成为外部;在单个翻译单元(源文件)中
-
太棒了!那行得通。非常感谢。
标签: c++ class extern redefinition