2011-09-21 144 views
0

我有嚴重的問題。Mat中的Opencv push_back函數

class Set 
{ 
    Point_<int> point;  
    int val; 
    double *module; 
}; 

Mat m; 
Set s; 
m.push_back(s); 

它說 見參考函數模板實例化「無效簡歷::墊::的push_back(const的_TP &)」正在編制 當我的push_back之後添加它帶給我: 見參考文獻類模板實例「CV :: Mat_ < _TP>」正在編制

+0

你期待什麼結果呢? –

回答

1

得承認,我不熟悉OpenCV的,但推理是從this documentationMat類的push_back成員函數似乎是一個模板函數,它需要知道你要去的對象的類型「膿h回「。因此,可能嘗試這個辦法:

m.push_back<Set>(s); 

如果還不行,最後的建議是

Mat<Set> m; 
Set s; 
m.push_back(s); 
+0

我試過了,但它dosent工作:( – Qbunia

0

我不認爲你可以的push_back任何不OpenCV的基本類型。爲什麼不使用STL容器?

1

你可以寫

#include<vector> 
class Set 
{ 
    Point_<int> point;  
    int val; 
    double *module; 
}; 

std::vector<Set> m; 
Set s; 
m.push_back(s);