Название: [Решено] Динамический двумерный массив объектов. Что не так? Отправлено: xintrea от Июль 23, 2009, 14:57 Здравствуйте!
Делаю я сейчас абстрактный класс "таблица". Эта таблица состоит из объектов - "ячеек". В момент создания объекта "таблица" известно количество ячеек по горизонтали и вертикали. В процессе работы я нашел неплохое описание, как делать многомерные динамические массивы. "C++. Бархатный путь. Часть 1. Страница 76. Многомерные динамические массивы." http://www.cyberguru.ru/programming/cpp/cpp-velvet-way-page76.html (http://www.cyberguru.ru/programming/cpp/cpp-velvet-way-page76.html) По аналогии делаю и свой класс. Заголовок Код: class EditorAbsTable Реализация Код: // Конструктор Проблема в том, что возникает сегфолт в методе clear_table(). Сегфолт возникает при вызове cells[ i ][ j ].clear() когда i становится равным 1. (Пока i=0 а j=0..n, вызов cells[ i ][ j ].clear() срабатывает нормально). То есть, обрабатывается только один столбец. Я так подозреваю, что сегфолт происходит из-за того, что по указанным координатам, начиная с cells[1...x][...] ссылок на объекты-ячейки просто нет, так как они не были созданы в методе create_cells_array(). Поэтому не может вызваться метод clear() для соответсвующей ячейки. Но вот смотрю я на код метода create_cells_array(), и не пойму, как же его переделать так, чтобы и память для каждой ячейки выделилась, и конструктор для каждой ячейки сработал. Как это сделать? Название: Re: Динамический двумерный массив объектов. Что не так? Отправлено: Alex Custov от Июль 23, 2009, 22:46 поправь на "решено", что ли :)
Название: Re: Динамический двумерный массив объектов. Что не так? Отправлено: denka от Июль 24, 2009, 14:50 Хотелось бы знать к чему огород из многомерных массивов, если для таблицы прекрасно можно обойтись одномерным?
Название: Re: Динамический двумерный массив объектов. Что не так? Отправлено: xintrea от Июль 25, 2009, 21:16 Все, спасибо, вопрос снят. В топике код вилидный, это я с данными прогнался.
|