繁体   English   中英

在C ++中使用向量数组的向量

[英]Using a Vector of an Array of Vectors in C++

因此,我尝试在此处进行搜索,但还没有发现相同的问题。 我似乎无法弄清楚如何正确使用此跟踪向量。 最终,我想要一个向量数组(长度== 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而不是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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM