提问者:小点点

无法分配C++屏障函数(windows)


我想创建一些简单的东西,比如void函数(struct str)来计算障碍同步中的平行度,但似乎不是那么简单,所以我遵循了以下内容:https://docs.microsoft.com/en-us/windows/win32/procthread/creating-threads和其他一些主题,但没有成功。找不到解决办法。代码都在一个文件中。

有什么建议如何修理它吗?让它发挥作用?


共2个答案

匿名用户

请注意,当您将lpparam强制转换为dectectordata*时,您应该这样强制转换:(detectorData*)lpparam而不是(detectorData)lpparam。(请注意*表示指针。)

匿名用户

由于我使用的是C++,所以已经有了std::thread类。所以我的简单任务可以通过以下代码完成:

void detAndComputeT(detectorData &data) {
Ptr<SIFT> detector = cv::SIFT::create();
detector->detectAndCompute(data.image, Mat(), data.keypoints, data.descriptors);
}

而且

std::thread threads2[2];
detectorData dataImage1;
detectorData dataImage2;
dataImage1.image = image1_toCalc;
dataImage2.image = image2_toCalc;
threads2[0] = thread(detAndComputeT, std::ref(dataImage1));
threads2[1] = thread(detAndComputeT, std::ref(dataImage2));
threads2[0].join();
threads2[1].join();

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(分配|c++|屏障|函数|windows)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?