Class Matrix
{
int dimension;
vector
Matrix::Matrix(int dimension)
{
this->dimension = dimension;
}
В методе Matrix::Matrix(int dimension) хочется задать размерность двумерного вектора
dimension x dimension
но тот способ, которым делал это я, не работает
matrix.reserve(dimension);
for (int i = 0; i < dimension; ++i)
{
matrix[i].reserve(dimension);
}
Ответ
vector::reserve только резервирует память под элементы, но не выделяет их.
Используйте vector::resize
Matrix::Matrix(int dimension)
: dimension(dimension),
matrix(dimension)
{
for (auto& row : matrix)
{
row.resize(dimension);
}
}
Комментариев нет:
Отправить комментарий