2016-09-18 35 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