Какой тип аргумента указывать в конструкторе матрицы списком инициализации?

Пишу шаблон класса матрицы со следующими приватными членами:

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 нужные значения, но это долго , и хотелось бы сделать это на этапе инициализации. Как можно это сделать?


Ответы (0 шт):