我有一个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"