當我嘗試使交流數組傳遞給我的函數以轉換Mat數組的C數組時,我在此行上收到以下錯誤消息vector<Mat> *std_carrayTovectorm(m, 2);
到一個C++向量中。我認爲我的代碼是正確的,但不確定它是否是我的std_carrayTovectorm
函數是問題。如何編輯我的C數組的創建或std_carrayTovectorm
函數以從C數組創建Mat的向量。將表達式列表當作複合表達式在初始化程序中創建指向Mat的向量的指針
謝謝
//表達式列表,複合式的初始化處理 //無效的轉換,從「詮釋」到「的std ::向量*」
typedef vector<Mat> vector_Mat;
vector_Mat* std_carrayTovectorm(Mat* a, size_t len) {
vector<Mat>* v = new vector<Mat>;
for(size_t i = 0; i < len; i++)
v->push_back(a[i]);
return v;
}
int main(int argc, char** argv)
{
Mat img1 = imread("/home/w/d1");
Mat img2 = imread("/home/w/d1");
Mat* m[2] = { new Mat (img1), new Mat (img2) };
vector<Mat> *std_carrayTovectorm(m, 2);
return 0;
}
'M'是指向「Mat」和「std_carrayTovectorm」的指針數組需要一個「Mat」數組。 – francis