c++ - 无法将参数 1 从 'sf::RenderWindow *' 转换为 'sf::RenderWindow &'
问题描述
我一直在用 SFML 制作游戏,但遇到了这个问题:
无法将参数 1 从 'sf::RenderWindow *' 转换为 'sf::RenderWindow &'
我知道指针和东西的基础知识,但我仍然不确定如何正确使用它们,所以我不知道这意味着什么。但无论如何,在游戏课上:
class Game {
public:
RenderWindow renderWindow;
private:
Player player{renderWindow,100,100 };
}
我初始化渲染窗口和播放器:
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;
};
播放器.cpp:
void Player::draw(RenderWindow &renderWindow,int x,int y)
{
//do stuff using renderWindow
}
而且我认为我应该使用引用调用构造函数,否则我会在 draw() 函数中遇到错误-它在被删除时无法引用。我也尝试过使用指针,但我不确定如何正确调用这个构造函数/函数。
解决方案
推荐阅读
- html - ipad 模式下右侧的空白垂直列/空格
- liquibase - 如何使用 liquibase 从数据库中加载序列 currvalue 和 incremenBy?
- app-inventor - MIT APP Inventor 2 文本框属性为整数
- python-3.x - 释放鼠标后,pygame中的图像立即消失
- pytorch - 为什么我不能在 spyder 上使用 pytoch?
- compiler-errors - 退出状态 1 'WIFI_AUTH_OPEN' 未在此范围内声明
- c# - C#如何返回颜色
- javascript - 如何在反应js中检查axios get函数是否被调用?
- android - 如何使用微调器更改 json 数组的索引值?
- javascript - 为什么我的 JQuery 代码不想在正确编写代码时工作