我一直在用SFML制作游戏,但遇到了这个问题:
无法将参数1从'sf :: RenderWindow *'转换为'sf :: RenderWindow&'
我知道指针和东西的基础知识,但是我仍然不确定如何正确使用它们,因此我不知道这意味着什么。 但是无论如何,在游戏课上:
class Game {
public:
RenderWindow renderWindow;
private:
Player player{renderWindow,100,100 };
}
我初始化renderWindow和播放器:
class Player
{
public:
Player(RenderWindow &renderWindow,int x,int y) {
draw(renderWindow,x, y);
}
void draw(RenderWindow &renderWindow,int x,int y);
private:
int x, y;
};
Player.cpp:
void Player::draw(RenderWindow &renderWindow,int x,int y)
{
//do stuff using renderWindow
}
我想我应该用一个引用来调用构造函数,否则我会在draw()函数中出错—它不能被引用,因为它被删除了。 我也尝试使用指针,但不确定如何正确调用此构造函数/函数。