gpt4 book ai didi

c++ - 在 50...60 个文件之间传递类对象

转载 作者:行者123 更新时间:2023-11-28 03:33:10 26 4
gpt4 key购买 nike

我用 C++ 编写 OOP 软件,我需要在文件(50...60 个文件)之间传递我的类的实例。不幸的是,我使用了一个使用回调函数而不是对象的库。

问题:我在 cpp 文件之间使用了一些状态,例如 struct,但出现了 multiple definition 错误或...如何从 50...60 个类之间的每个类传递一个实例?

Class A{}; A *instanceA = new A();
Class B{}; B *instanceB = new B();
.
.
.
Class Z{}; Z *instanceZ = new Z();

我需要在文件之间传递 intaanceA、intanceB 等等。你有什么想法吗?

最佳答案

我怀疑您在头文件中定义了实例并将其包含在多个文件中:

A.h :

class A{};

A* instanceA = new A();

b.cppc.cpp两者 #include <A.h> , 造成多重定义错误。

要更正您可以使用 extern在头文件中声明实例并在一个.cpp定义它文件:

A.h :

class A{};
extern A* instanceA;

A.cpp :

A* instanceA = new A();

另一个原因是使用 extern在头文件中定义 instanceA在多个 .cpp文件(就像这里的情况一样)。

关于c++ - 在 50...60 个文件之间传递类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11965595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com