假设我在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 传递给另一个函数,那么有什么更好的方法呢?
答案 0 :(得分:0)
阿尔特·伊格尔(Alter Igel)在评论中告诉我如何进行此操作,因此我想将其发布为答案,以便将其关闭(谢谢伙计!)
我需要这样声明函数;
eventManager(sf::RenderWindow& window)
我假设&让编译器知道它正在引用窗口,而不是复制它。再次感谢Alter Igel。