类重新定义c ++

时间:2014-04-23 14:58:48

标签: c++ class extern redefinition

我有一个c ++项目,它有一个名为A的类。 我还有一个名为Definitions.h的头文件。

我在头文件中写了以下代码:

A* aClass;

在应用程序的主要内容中,我写道:

aClass = new A();

这给了我使用它的其他类的类A的重定义错误。

因此,在搜索网页后,我发现应将extern关键字添加到减速中,因此我将头文件的类减速修改为:

extern A* aClass;

现在我收到LNK2001错误。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

我需要看到你的代码才能完全理解错误的位置,但你可以试试这个:

在标题中:

extern A* aClass;

在main.cc中,在main函数之前:

A* aClass;

并在主要功能内部:

int main()
{
...
aClass = new A();
...
}

希望这有帮助!