繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM