c++ - SFML 试图将类的引用作为参数传递给函数

标签 c++ function mingw sfml

我正在使用 SFML 2.1 并使用 MingW 4.8.1 进行构建。 当我尝试调用使我的 MousePosition RELATIVE 相对于窗口对象的函数的特定重载时...

sf::RenderWindow* window;
window = new sf::RenderWindow(sf::VideoMode(640, 480, 32), "Render Window");
sf::Vector2i coords = sf::Mouse::getPosition(window)

...我收到以下错误:

error: no matching function for call to 'sf::Mouse::getPosition(sf::RenderWindow*&)'
note: candidates are: 
     static sf::Vector2i sf::Mouse::getPosition()
         candidate expects 0 arguments, 1 provided
     static sf::Vector2i sf::Mouse::getPosition(const sf::Window&)
         no known conversion for argument 1 from 'sf::RenderWindow*' to 'const sf::Window&'

getPosition() 函数:

static Vector2i getPosition();
static Vector2i getPosition(const Window& relativeTo);

摘自 SFML 2.1 引用:

sf::RenderWindow 派生自 sf::Window,因此它继承了它的所有特性:事件、窗口管理、OpenGL 渲染等。

我确定 getPosition 接受 RenderWindow 类对象。出于某种原因,它不接受对此类对象的引用。

对此可以做些什么?

最佳答案

您正在将 RenderWindow* 传递给 getPosition(),而不是 RenderWindow。 试试这个:

sf::Vector2i coords = sf::Mouse::getPosition(*window);

关于c++ - SFML 试图将类的引用作为参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25493918/

相关文章:

c++ - 适用于 Windows 的 MinGW 编译器,使用 GCC、C99 与 GNU99

c - 告诉 CMake 在 Windows 中哪里可以找到 z.lib

c++ - 为什么我不能在 VS2008 的类中使用静态成员,例如静态结构?

c++ - 如何在 Makefile 中找到库的正确 LDFLAG?

c++ - 字符串不以 null 结尾

javascript - 我可以将函数指定为 this.state 中的属性吗?

C++,MingW,对 `libiconv' 的 undefined reference

c++ - 有没有办法让这个 C++14 递归模板在 C++17 中更短?

c++ - 使用可变参数宏或模板来实现一组功能

c++ - 缩短长变量访问器的最佳方法是什么?