从我在网上收集的内容来看,这很可能与尝试复制一个帖子有关(你无法做到)。我不确定为什么会出现这个问题。我确实怀疑它出现在哪条线上。
工作线程定义:
void WorkerThread(SharedLList<uint32_t> *workQueue, std::mutex *dataLock, uint8_t *data, uint32_t *seenStates, int depth)
调用函数中的代码:
SharedLList<uint32_t> workQueue;
std::mutex lock;
uint8_t *stateDepths = new uint8_t[s.GetMaxRank()];
uint32_t seenStates = 1;
int currDepth = 0;
for (int i = 0; i < numThreads; i++)
{
threads[i] = new std::thread(WorkerThread, std::ref(workQueue), std::ref(lock), stateDepths, std::ref(seenStates), currDepth);
}
主题 - &GT;语义问题 - &GT;尝试使用已删除的功能
这是一行:
__invoke(_VSTD::move(_VSTD::get<0>(__t)), _VSTD::move(_VSTD::get<_Indices>(__t))...);
如何解决此问题?我的代码出了什么问题?
答案 0 :(得分:1)
您的线程函数被声明为接受指针作为参数。然而,您将引用作为参数传递。除uint8_t *data
之外的所有指针参数都存在此不匹配。