使用thread時候 遇到編譯問題:
static CascadeClassifier cascadeClassier;
void faceDetect(Mat img, CascadeClassifier& cascade,double scale, bool tryflip)
{...}
void main{
Mat faceImage;
thread t = thread(faceDetect, faceImage,cascadeClassier, 1.0, true);
t.detach();
}
顯示錯誤
In file included from /usr/include/c++/4.8/thread:39:0,
from src/QYFaceDetect.cpp:7:
/usr/include/c++/4.8/functional: In instantiation of ‘struct std::_Bind_simple<void (*(cv::Mat, cv::CascadeClassifier, double, bool))(cv::Mat, cv::CascadeClassifier&, double, bool)>’:
/usr/include/c++/4.8/thread:137:47: required from ‘std::thread::thread(_Callable&&, _Args&& ...) [with _Callable = void (&)(cv::Mat, cv::CascadeClassifier&, double, bool); _Args = {cv::Mat&, cv::CascadeClassifier&, double, bool}]’
src/QYFaceDetect.cpp:390:90: required from here
/usr/include/c++/4.8/functional:1697:61: error: no type named ‘type’ in ‘class std::result_of<void (*(cv::Mat, cv::CascadeClassifier, double, bool))(cv::Mat, cv::CascadeClassifier&, double, bool)>’
typedef typename result_of<_Callable(_Args...)>::type result_type;
^
/usr/include/c++/4.8/functional:1727:9: error: no type named ‘type’ in ‘class std::result_of<void (*(cv::Mat, cv::CascadeClassifier, double, bool))(cv::Mat, cv::CascadeClassifier&, double, bool)>’
_M_invoke(_Index_tuple<_Indices...>)
^
make: *** [QYFaceDetect.o] Error 1
我這個引數嚴格按照 函式來的,為什么會出現這個問題,求解答。
uj5u.com熱心網友回復:
cascade 得用ref吧uj5u.com熱心網友回復:
這個列子中 cascade 是一個C++的類,用ref可以解決,
為啥這個列子和帖子 http://bbs.csdn.net/topics/390800501上說的完全不一樣啊,
按照那個帖子說的,4.8里面就不支持 ref...
uj5u.com熱心網友回復:
那個是成員函式,并且ref 類物件,實作缺陷應該指的就是這種情況。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/75903.html
標籤:基礎類
上一篇:我想做一個串口收發的程式,出現錯誤,請大神幫忙看看好嘛?
下一篇:c#連接資料庫的問題
