2016-09-18 142 views
0

我创建使用SFML一个简单的游戏,我得到这个错误:在使用下面的代码错误,而建设的std ::使用线程2 argumented功能

"std::invoke()": no matching overloaded function found

Failed to specialize function template 'unknown-type std::invoke(_Callable &&,_Types &&...)'

线程函数:

void drawing(charact Hero, sf::RenderWindow window) { 
while (window.isOpen()) { 
    window.clear(); 
    window.draw(Hero.hitBox); 
    window.display(); 
    } 
} 

线程声明:

std::thread Draw(drawing, Hero, window); 

回答

1

sf::RenderWindow不可复制(由于继承sf::NonCopyable),因此drawing不能按原样调用。添加一个引用或使用(智能)指针。

+0

传递参考并不能解决问题 – Kweldulf

+0

您是否已将“绘图”函数更改为通过引用/指针接收参数? – kfsone

+0

显示mcve +实际错误。 – Hiura