Использование вектора массива векторов в переполнении стека

Итак, я попытался поиск Вот, но не совсем нашел ту же проблему. Я не могу понять, как правильно использовать этот отслеживаемый вектор. В конечном счете, я хочу вектор массива (длина == 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, таким образом, не нужно проверять индекс за пределами исключений.

Спасибо за ваши мысли и предложения.

1

Решение

использование 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;
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]