【问题标题】:Error while constructing std::thread using 2 argumented function使用 2 个参数函数构造 std::thread 时出错
【发布时间】:2023-03-13 09:19:01
【问题描述】:

我正在使用 SFML 创建一个简单的游戏,但出现此错误:

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

无法专门化函数模板“未知类型 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);

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 您是否更改了“绘图”函数以通过引用/指针接收它的参数?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多