クラスからレンダリングウィンドウを返す方法に少しこだわっています。戻り値のタイプが間違っているのか、構文が間違っているのか、あるいはその両方なのかわかりません。
私のmain.cppには次のものがあります。
Window Render(800, 600, "Test");
sf::RenderWindow window = Render.Init();
このための私のクラスは次のとおりです。
Window::Window(int x, int y, std::string title){
ResoX = x;
ResoY = y;
Title = title;
}
sf::RenderWindow Window::Init(){
return screen(sf::VideoMode(ResoX,ResoY,Title));
}
クラスのヘッダー:
class Window
{
private:
int ResoX, ResoY;
std::string Title;
sf::RenderWindow screen;
public:
Window(int, int, std::string);
sf::RenderWindow Init();
};
私のエラーは次のとおりです。
error C2665: 'sf::VideoMode::VideoMode' : none of the 3 overloads could convert all the argument types
could be 'sf::VideoMode::VideoMode(unsigned int,unsigned int,unsigned int)'
while trying to match the argument list '(int, int, std::string)'
error C2064: term does not evaluate to a function taking 1 arguments
誰かが私がこれを修正する方法を知っていますか?