![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Shaitan |
![]() ![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 22.7.2015 Пользователь №: 4418 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Добрый день.
Решил написать небоьшую программу, которая будет читать данные из тектового файла. Данные представляют собой простой список. Id, Name, Field1,Field2. Для начало создал свою структуру:
После Запускается функция в которую передаю Список обработанных строк. Этот список я разбиваю на группы. Группы разделенв ";". Каждую группу я записываю в промежуточный список.
Этот Список передаю в процедуру создание списка указателей структур. По возвращению из неё пытаюсь очищать промежуточный список. И тут у меня лезут ошибки
Если в фунции не создавать указатель на структуру, то промежуточный список нормально очищается. Что я не так делаю? Заранее спасибо! |
|
|
![]() |
Shaitan |
![]()
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 8 Регистрация: 22.7.2015 Пользователь №: 4418 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ну, при беглом просмотре кода, сразу же в первом блоке: delete &rVar; зачем тут адрес? подумай, что ты удаляешь. вообще, логика кода какая-то странная. ты не проверяешь, что _strList содержит минимум два элемента, хотя обращаешься к ним. потом, вот это условие тоже какое-то малопонятное: leght = _strList.length() - i; while(leght >= i ... Насчёт delete &rVar; Это я пытаюсь очистить память от указателей. Согласен нужно это сделать иначе. Вторая странность это я узнаю длину списка и перебираю его до того пока не упрусь в ";" А какие ошибки лезут? Я вечером опишу подробнее. Постараюсь со скриншотами. Если очень кратко. Я создаю список структур, а после я этот список очищаю и высвобождаю память под структурами. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 6.5.2025, 19:55 |