我有一个类imgmanager,它允许我只加载一次所有的图像,这很好,而且在原型设计时,我把所有的文件都放在一个地方,所以我不必担心循环定义。然而,在我把所有的课都分开之后,我遇到了一个问题。
我的头文件
#ifndef IMAGEMANAGER_H
#define IMAGEMANAGER_H
#include "Img.h"
#include <vector>
#include <map>
#include <string>
class imgmanager{
protected:
std::vector<sf::Image*> images;
std::map<std::string,int> positions;
public:
sf::Image* addimg(std::string path); //relative to resources
sf::Image* getimg(std::string path);
int size();
virtual ~imgmanager();
sf::Image* operator[](int);
}imagemgr;
#endif
在}之后和之前创建的实例;我的编译器向我抱怨:
所以我问:我应该怎么做才能拥有我的imagemgr类的全局实例?我应该只制作一个全局头文件并创建一个实例吗?(在这种特殊情况下,我可以在我的main.cpp中创建一个全局变量,没有一个标头需要该实例)