だから私は自分のポインタをチェックしましたが、ここで何が問題になっているのか本当にわかりません。ベクトルを変更する関数を参照して、ベクトルの2つのベクトルを渡します。関数は次のとおりです。
bool imageToTips( Mat& img,
vector<vector<int> > & fingertips,
vector<vector<Point> > & hand,
double epsilon,
double theta){
//code
}
そして、これが呼ばれる場所です:
Mat depth = _depth;
Mat image = depth.clone();
Mat decon = depth.clone();
vector<vector<int> > fingertips();
vector<vector<Point> > hands();
double epsilon = 50;
double theta = 30;
if (fs::imageToTips(decon, fingertips, hands, epsilon, theta))
{
drawContours(image, hands, -1, Scalar(255,0,0,0));
imshow("KinectFingerProcessing", image);
//more code
}
エラー:
/FingerLocator2/main.cpp:47: error: invalid initialization of non-const reference of type 'std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >&' from a temporary of type 'std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > (*)()'
/FingerLocator2/main.cpp:49: error: invalid initialization of reference of type 'const std::vector<std::vector<cv::Point_<int>, std::allocator<cv::Point_<int> > >, std::allocator<std::vector<cv::Point_<int>, std::allocator<cv::Point_<int> > > > >&' from expression of type 'std::vector<std::vector<cv::Point_<int>, std::allocator<cv::Point_<int> > >, std::allocator<std::vector<cv::Point_<int>, std::allocator<cv::Point_<int> > > > > (*)()'
ベクトルポインタを作成しようとしましたが、機能しませんでした。どこかで一時変数を使用していると思います…ここで何が問題になっていますか?