[英]SFML Trying to pass reference of a class as an argument to a function
我正在使用SFML 2.1,并使用MingW 4.8.1进行构建。 当我尝试调用某个函数的特定重载时,使我的MousePosition与窗口对象相对...
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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.