いくつかの変数を別のクラスに設定するクラスがありますが、エラーが発生して機能しないようです。
だから私はこれを持っています:
MainMenu::MainMenu(std::map<std::string,std::string>& theme){
CreateSprite Background(theme["Background"]);
}
void create(sf::RenderWindow& output){
output.draw( Background.callback() );
}
そのヘッダー:
class MainMenu
{
private:
CreateSprite Background;
public:
MainMenu(std::map<std::string, std::string>&);
void create(sf::RenderWindow&);
};
問題は私が得ることです:
error C2512: 'CreateSprite' : no appropriate default constructor available
私のクラスCreateSprite
は次のように設定されています:
CreateSprite::CreateSprite(std::string& imagefile) {
if(!image.loadFromFile(imagefile)){
exit(2);
}
sprite = sf::Sprite(image);
}
sf::Sprite CreateSprite::callback(){
return sprite;
}
header
このクラスに関連するものは次のとおりです。
class CreateSprite
{
public:
CreateSprite(std::string&);
sf::Sprite callback();
private:
sf::Texture image;
sf::Sprite sprite;
};
私は何を間違っていますか?