Как инициализировать вложенные массивы?

typedef std::array<float, 2> Point;
typedef std::array<Point, 2> Line;
std::vector<Line> Lines = { 
  { {0, 0}, {0, 1} }, { {0, 0}, {1, 0} }, { {1, 0}, {0, 1} } 
};

Выдает:
Ошибка C2440 инициализация: невозможно преобразовать "initializer list" в "std::vector<Line,std::allocator<Line>>"


Как правильно инициализировать динамический массив массивов?

upd:

Даже это вызывает ошибку:
using Point = std::array<float, 2>;
using Line = std::array<Point, 2>;
Line line { {0, 0}, {0, 1} };
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
@dima20155
you don't choose c++. It chooses you
Вы неправильно инициализируйте свои же типы (псевдонимы типов). У точки 3 элемента
https://godbolt.org/z/73hWze74s
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы