Суть задачи такова: создаю таблицу QTableWidget, которая является центральным виджетом для QMainWindow. Таблица изначально пуста.
Теперь мне нужно заполнить эту таблицу необходимыми значениями. Для этого в книжке Бланшет, Саммерфилд "Qt 4: программирование GUI на С++" описан алгоритм.
Вот код:
void Spreadsheet::setFormula(int row, int column, const QString &formula)
{
Cell* c = cell(row, column);
if (!c)
{
c = new Cell;
setItem(row, column, c);
}
c->setFormula(formula);
}
здесь класс Cell унаследован от QTableWidgetItem.
Перенес тот же код в свою программу.
Получилось:
void VectorizerResultTable::setValue(int row, int column, const QString &value)
{
Cell *c = cell(row, column);
if (!c)
{
c = new Cell;
setItem(row, column, c);
}
c->setValue(value);
}
свой класс Cell также унаследован от QTableWidgetItem
функции cell и setValue раелизованы в классе Cell.
так он теперь выдает ошибку на строке c = new Cell;
Вот ошибка:
Microsoft C++ exception: CMemoryException at memory location 0x0cdda908..
Ясно что ошибка в выделении памяти.
Я с Qt работаю всего ничего и понять почему такая ошибка вылазит так и не смог.
Подскажите хоть какое-нибудь решение данной проблемы.