我正在学习SFML,我有:
#include "TextureHolder.inl"
在我的Textureholder.hpp文件中。我的TextureHolder.inl文件如下:
sf::Texture& TextureHolder::get(Textures::ID id){
auto result = mTextureMap.find(id);
return *result ->second;
}
void TextureHolder::load(Textures::ID id, const std::string& filename){
std::unique_ptr<sf::Texture> texture(new sf::Texture);
texture ->loadFromFile(filename);
mTextureMap.insert(std::make_pair(id, std::move(texture)));
}
当我构建项目时,重新定义了函数加载的错误并且发生了。
当我将#include "TextureHolder.inl"
放入我的Game.cpp时,它可以工作。那么这是否意味着每个实现应该放在源代码而不是头文件中?
我该如何处理这个问题?