Как изменить размер двухмерного 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.