我是C ++的新手,我无法弄清楚这段代码中的错误。将不胜感激任何帮助。
class ResourceLoader {
protected:
static std::map<int, Texture> textureCollection;
public:
static Texture getSingleTexture(GameTexture gameTexture) {
return ResourceLoader::textureCollection[gameTexture];
}
static void loadTexturesFromFiles() {
ResourceLoader::loadSingleTexture(GameTexture::Character);
}
static void loadSingleTexture(GameTexture gameTexture) {
Texture texture;
texture.loadFromFile("texture.png");
ResourceLoader::textureCollection[gameTexture] = texture;
}
};
这导致:
未定义引用`ResourceLoader :: textureCollection&#39;&#34;
如果在textureCollection
部分声明了protected
,它是如何定义的?
此外,我没有用于类声明的用户标头。我知道这不是最好的做法,但这会加快整个过程。