我正在使用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
类对象。出于某种原因,它不接受对这种对象的引用。
可以做些什么?
答案 0 :(得分:3)
您正在将RenderWindow *传递给getPosition(),而不是RenderWindow。 试试这个:
sf::Vector2i coords = sf::Mouse::getPosition(*window);