2011-09-21 146 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);