因此,我尝试在此处进行搜索,但还没有发现相同的问题。我似乎无法弄清楚如何正确使用此跟踪向量。最终,我想要一个向量数组(长度== 2)的向量。这并不是说我在绑定消息中获取了索引,而是当我尝试编译时,它说:
c:\program files (x86)\microsoft visual studio 10.0\vc\include\memory(631): error C2440: '<function-style-cast>' : cannot convert from 'int' to 'std::vector<_Ty> '
1> with
1> [
1> _Ty=int
1> ]
//code
int main() {
typedef vector<int> feature_points[2];
vector< feature_points >tracked;
tracked.resize(10);
}
我想我可以做vector<vector<vector<int>>>
,但是由于数组部分的长度总是2,所以我只想将它用作2的数组,这样就不必检查索引是否超出范围了。
感谢您的想法和建议。
使用std::array
而不是数组例如
#include <array>
#include <vector>
//...
std::vector<std::array<std::vector<int>, 2>> tracked;
要么
#include <array>
#include <vector>
//...
typedef std::array<std::vector<int>, 2> feature_points;
std::vector< feature_points >tracked;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句