使用2个论证函数构造std :: thread时出错

时间:2016-09-18 17:54:55

标签: c++ multithreading c++11 sfml

我正在使用SFML创建一个简单的游戏,我收到了这个错误:

  

“std :: invoke()”:找不到匹配的重载函数

     

无法专门化功能模板'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 个答案:

答案 0 :(得分:1)

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