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

时间:2018-07-21 05:14:34

标签: 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 传递给另一个函数,那么有什么更好的方法呢?

1 个答案:

答案 0 :(得分:0)

阿尔特·伊格尔(Alter Igel)在评论中告诉我如何进行此操作,因此我想将其发布为答案,以便将其关闭(谢谢伙计!)

我需要这样声明函数;

 eventManager(sf::RenderWindow& window)

我假设&让编译器知道它正在引用窗口,而不是复制它。再次感谢Alter Igel。