假设我有一段 C++ SFML 代码如下;
void eventManager(sf::RenderWindow window)
{
event evnt;
window.pollEvent(evnt);
if (evnt.type == sf::Event::Closed)
window.close();
}
int main()
{
sf::RenderWindow window(sf::VideoMode(500, 500), "Window");
eventManager(window);
}
当我尝试编译这样的东西时,调试器吐出一条错误消息,指出“正在尝试引用已删除的函数”。我现在明白 sf::RenderWindow 不能传递给另一个函数,那么什么是更好的方法呢?
最佳答案
Alter Igel 在评论中告诉我如何做,所以我想我会把它作为答案发布,这样就可以关闭(谢谢老兄!)
我需要像这样声明函数;
eventManager(sf::RenderWindow& window)
我假设 & 让编译器知道它正在引用窗口,而不是复制它。再次感谢 Alter Igel。
关于c++ - 如何将 sf::RenderWindow 传递给另一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51453032/