|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.02.2019, 14:33 | #1 |
Новичок
Джуниор
Регистрация: 25.02.2019
Сообщений: 1
|
Инициализация динамического массива в классе с использованием шаблона
Доброго времени суток. Буду признателен за помощь, ни разу не сталкивался с шаблонными типами. Программа получилась нормальная вроде, но в методе
void UpCapacity(int NewCapacity) на строке free(a) а также на строке free (b) - выпадает исключение. Прикладываю листинг полностью. Код:
|
25.02.2019, 17:50 | #2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
умничка.
подача материала - годная. теперь внимательно смотри: Код:
получается, что резерв больше чем длина, и потому UpCapacity не выполняется. в результате вот здесь: a[length] = NewElement; ++length; ты вылазишь за пределы старой памяти, ведь резерв так и не был увеличен. в итоге - портишь памяти. при попытке освободить память срабатывает рантайм-проверка, она фиксит порчу памяти, и решает, процесс который так нагло портит память - верно сошел с ума. поэтому она делает ему живительный укол эвтаназии. от греха подальше. замени на: Код:
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Инициализация динамического массива | RAFA91 | Общие вопросы C/C++ | 22 | 13.08.2015 14:49 |
Инициализация ДВУМЕРНОГО массива в классе | IgoreKMaN | Общие вопросы C/C++ | 1 | 01.04.2014 12:39 |
Операция сложения для многоразрядных числ (больше 100) с использованием динамического массива (делфи) | Таня =) | Помощь студентам | 1 | 22.04.2012 15:34 |
Инициализация в классе | t2skler | Общие вопросы C/C++ | 6 | 19.03.2012 21:54 |
Использование шаблона stack в классе | Jugger | Помощь студентам | 1 | 24.11.2011 22:01 |