我正在尝试在 C++ 中创建一个管理器类,或者至少是全局可用数据字段的集合。我只是希望能够在不需要函数的情况下获取和设置一些全局数据。如果可以的话,我也想避免使用单例。
我试过一个静态类:
#ifndef MANAGER_H
#define MANAGER_H
class Manager
{
public:
static float AspectRatio;
};
#endif MANAGER_H
但是当我尝试使用“Manager::AspectRatio”时,我收到 LNK2001 编译器错误,抱怨未解决的外部问题
我也尝试过全局字段:
#ifndef MANAGER_H
#define MANAGER_H
float Manager_AspectRatio = 1.0f;
#endif MANAGER_H
但是当我在多个文件中包含“manager.h”时,我得到 LNK2005 编译器错误,抱怨多个定义。我认为使用标头保护的目的是防止多个定义?
关于如何创建一组可以在整个程序中访问和改变的全局数据字段的任何见解?