类重新定义c++

Class redefinition c++

本文关键字:定义 c++ 新定义      更新时间:2023-10-16

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

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

A* aClass;

在应用程序的主体中,我写道:

aClass = new A();

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

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

extern A* aClass;

现在我收到LNK2001错误。

我错过了什么?

我需要查看您的代码才能完全理解错误可能在哪里,但您可以尝试以下操作:

在标题中:

extern A* aClass;

在main.cc中,主功能之前:

A* aClass;

内部主要功能:

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

希望这能有所帮助!