|
1 / 1 / 1
Регистрация: 31.12.2014
Сообщений: 9
|
|||||||||||||||||||||
Ошибка Access Violation при использовании vector внутри класса15.03.2016, 00:17. Показов 1228. Ответов 4
Метки нет (Все метки)
Проблема в следующем: имеется пользовательский класс. Три поля в классе - векторы, один из которых двумерный. Первое создание экземпляра класса и использование его полей происходит без ошибок. Если этот экземпляр класса удалить а затем вновь создать - выбивает ошибку Access Violation. При пошаговом выполнении обнаружил, что ошибка возникает в конструкторе при резервировании памяти для двумерного массива. Надеюсь, кто-то подскажет, как избавится от данной неприятности...
Примерный код, при котором возникает ошибка: Кликните здесь для просмотра всего текста
Структура класса: Кликните здесь для просмотра всего текста
Конструктор: Кликните здесь для просмотра всего текста
Деструктор: Кликните здесь для просмотра всего текста
0
|
|||||||||||||||||||||
| 15.03.2016, 00:17 | |
|
Ответы с готовыми решениями:
4
Access Violation при использовании delete[] Access violation при использовании экземпляра TIniFile
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 15.03.2016, 09:51 | |
|
0
|
|
|
1709 / 905 / 207
Регистрация: 25.11.2009
Сообщений: 1,850
|
|
| 15.03.2016, 12:11 | |
|
lishuk_i, Мне кажется, ты некорректно используешь метод swap(). Это не есть удаление или очистка.
Тебе следует использовать метод clear().
0
|
|
|
1 / 1 / 1
Регистрация: 31.12.2014
Сообщений: 9
|
|
| 15.03.2016, 17:55 [ТС] | |
|
nick42, да, там опечатка
Добавлено через 1 минуту Lelik-pahan, попробовал в разных комбинациях: swap потом clear, clear потом swap, просто clear - к сожалению, ничего не помогло( Добавлено через 2 часа 23 минуты Проблема решена. Может кому на будущее пригодится - не резервировать память отдельно под каждый вложенный вектор. В заполняющей функции создается временный вектор, который заполняется необходимыми значениями и через push_back() заносится во внешний вектор.
0
|
|
|
1709 / 905 / 207
Регистрация: 25.11.2009
Сообщений: 1,850
|
|
| 15.03.2016, 19:13 | |
|
lishuk_i, вектор тем и хорош, что для него не надо резервировать память. И никакой временный вектор не нужен. Что тебе мешает заносить элементы сразу в свой целевой вектор?
Добавлено через 6 минут Ты в любой момент можешь дописать элемент в конец (push_back), вставить его посередине (insert), изменить размер вектора (resize), очистить вектор (clear). А работаешь с ним как с простым динамическим массивом.
0
|
|
| 15.03.2016, 19:13 | |
|
Помогаю со студенческими работами здесь
5
Ошибка при добавлении TSeries: Access Violation Ошибка Access violation при передаче указателя в функцию Ошибка при использовании класса
Ошибка при компилировании исправной программы: Access violation at address 501F084A in module 'vcl120.bpl' Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|