无法将参数1从'sf :: RenderWindow *'转换为'sf :: RenderWindow&'

时间:2018-11-06 17:04:27

标签: c++ pointers constructor

我一直在用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()函数中出错—它不能被引用,因为它被删除了。 我也尝试使用指针,但不确定如何正确调用此构造函数/函数。

0 个答案:

没有答案