Как изменить размер двухмерного QVector при помощи метода resize()?

Как изменить размер двухмерного QVector ? Я пробовал следующий код, выходит ошибка, при том, что в методе resize я указываю новый размер.

int m = 24;
int n = 9;
QVector <QVector <QString> > _preset_table(m, QVector<QString>(n, ""));
.
.
.
n = 30;
_preset_table.resize(m*n);

for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
        _preset_table[j][i] = "Текст";
    };
};

Т.е. программа работает только для n <= 9;


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

Автор решения: KoVadim

Строкой _preset_table.resize(m*n); Вы увеличиваете размер по первой размерности, при чем сильно больше, чем Вам нужно, а вот другие даже не трогает

Вам нужен цикл

_preset_table.resize(m);
for (int i = 0; i < m; i++) {
  _preset_table[i].resize(n);
}

Хотя я бы использовал push_back/append.

→ Ссылка