Какой тип аргумента указывать в конструкторе матрицы списком инициализации?
Пишу шаблон класса матрицы со следующими приватными членами:
private:
std::vector<std::vector<Type>> matr;
std::pair<size_t, size_t> sizes_pair;
Хочу написать конструктор, который принимал бы список инициализации списков инициализации и им бы сразу инициализировался внутренний вектор векторов.
template<typename Type>
Matrix<Type>::Matrix(std::initializer_list<std::initializer_list<Type>> list) :
matr(list)
{
sizes_pair(matr.size(), matr[0].size());
}
Но компилятор ругается на моменте инициализации matr, мол у вектора нет конструктора с такими типами аргументов, есть только с std::initializer_list. Я могу конечно уже в теле конструктора присвоить matr нужные значения, но это долго , и хотелось бы сделать это на этапе инициализации. Как можно это сделать?