c++ - 如何将 sf::RenderWindow 传递给另一个函数?

标签 c++ sfml

假设我有一段 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/

相关文章:

c++ - 为什么我的纹理会旋转 90 度?

c++ - SFML 教程甚至不工作

c++ - 在 C++ 中编译复数类时出错

c++ - boost 'release' 上的 ptr_container 泄漏?

c++ - 我将如何使用 Bullet Physics Library 设置碰撞?

c++ - 读出一个字符串流并将其插入不同的 vector 中

C++ 自动加载对象属性的默认构造函数

c++ - 将 Functor 作为参数传递给方法

c++ - 在 C++ 的 while(cin>>i) 循环中按 ctrl+D 会发生什么?

c++ - 将整数发送到 fstream 作为 little endian