我有一个ErrorLog
类,用于写入和修改日志文件。为了调试目的,我想在重大事件之前和之后写入它,并且我只想为整个应用程序使用 ErrorLog
类的一个实例。我尝试通过放置
ErrorLog exe_log;
将 ErrorLog
对象声明为全局对象放入一个头文件中,以便它可以访问其他文件,但我一直收到一条错误消息,说它已经被定义了。是否有定义全局对象的正确方法?
最佳答案
您需要头文件中的声明和源文件中的定义。
foo.h:
extern ErrorLog exe_log; // declaration (note the "extern")
foo.cpp:
ErrorLog exe_log; // definition
bar.cpp:
#include "foo.h"
关于c++ - 其他源文件 C++ 无法访问全局对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3591772/