|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.06.2008, 14:16 | #1 |
Новичок
Джуниор
Регистрация: 14.06.2008
Сообщений: 1
|
Проблема с памятью в С++
Народ помогите кто чем может. Значит проблема у меня состоит в следующем. Есть класс. В этом классе есть объект, который имеет 2 поля: строка и массив(статич.). Так вот мне надо сделать так чтобы через созданное мной меню при выборе опции удаления я вводил слово, которое следует удалить, оно сравнивалось с теми, которые уже есть в классе и при совпадении удалялся весь объект. Я думаю это все надо делать через деструктор, но вот как не пытался вылетает критическая ошибка. Вот листинг:
Код:
Код:
|
14.06.2008, 14:25 | #2 |
Форумчанин
Регистрация: 06.06.2008
Сообщений: 105
|
Хм -
Неверно сделал по-моему вот это - само удаление if(!strcmp(A[i].get_word(), slovo)){ delete &A[i]; ты нашел такой элемент, но ты не можешь его просто прямо удалить. А если он - 1й в массиве?тогда ты просто обрубишь весь массив сразу Да и мне кажется, поскольку ты делал массив функцией new - то за A закреплено уже фиксированное количество байт. И если ты так удалишь 1н элемент - ничего не изменится. Как вариант, если тебе надо именно удалить, создаешь временный массив, копируешь туда всё что надо, удаляешь весь массив A и копируешь в него временный. А иначе - можно просто этот элемент убрать на последнее место в массиве, и n - счетчик кол-ва элементов - уменьшить на 1. И тогда "удаленные" просто не будут обрабатываться |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с памятью процесса | JRcoker | Win Api | 10 | 18.07.2009 22:22 |
динамическое управление памятью | oblom | Общие вопросы C/C++ | 12 | 16.02.2008 15:24 |
Что будет с выделенной памятью? | Sibedir | Общие вопросы Delphi | 9 | 18.01.2008 13:57 |
Работа с памятью | Shurik Hacker | Общие вопросы Delphi | 7 | 22.06.2007 20:51 |