gpt4 book ai didi

c++ - std::thread --- 没有匹配的构造函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:14:49 26 4
gpt4 key购买 nike

<分区>

所以,我有这段代码,它应该作为一个单独的线程运行:

template<class Iterator>
void thread_launcher(Iterator start, Iterator fin, size_t sort_type) {
// Blah blah
mixed_sort<less<int>>(start, fin, sort_type);
// blah blah
}

这段代码应该创建这个线程:

for (size_t sort_type = 2; sort_type!= 7; ++sort_type) {
// blah
t[sort_type] = thread(thread_launcher, copy.begin(), copy.end(), sort_type);
}

,其中t线程的数组。

问题是 --- 当我尝试编译它时,我得到了这个错误:

main.cpp:245:32: error: no matching constructor for initialization of
'std::__1::thread'
...= thread(thread_launcher, copy.begin(), copy.end(), sort_type);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/thread:349:9: note:
candidate template ignored: couldn't infer template argument '_Fp'
thread::thread(_Fp&& __f, _Args&&... __args)

我不明白我做错了什么,尽管这是我第一次使用多线程,更不用说 std::thread 了。我应该怎么做才能解决这个问题?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com