У меня есть QDialog, который содержит QTable. В ячейках этой QTable - не простой текст, а чекбоксы. Число ячеек не постоянное, оно определяется непосредственно перед отображением диалога. Поэтому я переопределил exec этого диалога и перед вызовом QDialog::exec(); в нём задаю число ячеек таблицы и создаю динамический массив CheckBoxes
CheckBoxes=(PQCheckTableItem*)malloc(MyTable.count()*sizeof(PQCheckTableItem));
после чего в цикле:
CheckBoxes[i]=new QCheckTableItem(MyTable,"...");
И всё работает.
Перед reject'ом этого QDialog'а я делаю, само собой, free(CheckBoxes);
Но возникает вопрос: надо ли делать перед этим и delete для всех CheckBoxes[i], я ведь их вроде бы создавал динамически?
Если я delete НЕ делаю, то всё работает. Если я его делаю, программа начинает сегфолтиться. Так надо делать или нет?