|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.10.2011, 22:42 | #1 |
Пользователь
Регистрация: 23.10.2011
Сообщений: 35
|
Что за ошибка при удалении структуры?
http://codepad.org/qpsuLoea
В общем программа работает правильно, но в конце после отображения данных зависает. Если заменить cin'ы простым присваиванием, все работает нормально. ИМХО дело в char*, поясните как для тупого х( |
23.10.2011, 22:49 | #2 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
не выделена память под строковые данные в fam и country
ну и удаление структуры кривое забудь о char* вообще и юзай std::string
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
23.10.2011, 22:57 | #3 |
Пользователь
Регистрация: 23.10.2011
Сообщений: 35
|
мне нужно использовать именно char*, ибо string и в union не засунуть, ни strcmp() к нему не использовать, а это нужно в программе (в ссылке представлен только проблемный кусочек кода)
Почему удаление кривое? Напишите пожалуйста исправленный код. С char* |
23.10.2011, 23:07 | #4 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
в union не засунуть
Зачем? опиши задачу. а то, чувствую, имеем дело с X-Y-Z ни strcmp() к нему не использовать не нужно. у std::string полно встроенных методов Почему удаление кривое? потому что delete[] - оно только для массивов в C++ правильно - так: std::auto_ptr<struc> mem(new struc()); .... return 0; Напишите пожалуйста исправленный код. С char* тебе нужно определить конструктор и деструктор в классе. в первом - выделить память под указатели, во втором - освободить
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
23.10.2011, 23:18 | #5 | |
Пользователь
Регистрация: 23.10.2011
Сообщений: 35
|
Цитата:
Задачу описывать не буду, просто нужно использовать в данной программе именно char*, хотите сказать, здесь представлен неправильный пример delete[]? http://www.cplusplus.com/reference/s...rator%20delete Последний раз редактировалось kypck; 23.10.2011 в 23:25. |
|
23.10.2011, 23:30 | #6 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
kypck
Задачу описывать не буду, просто нужно использовать в данной программе именно char*, что нужно делать, описано в конце поста #4 хотите сказать, здесь представлен неправильный пример delete[]? http://www.cplusplus.com/reference/s...rator%20delete в этом примере нет использования delete[]
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
23.10.2011, 23:34 | #7 |
Пользователь
Регистрация: 23.10.2011
Сообщений: 35
|
Извиняюсь, вот ссылка
http://codepad.org/UDbkfA8G За решение спасибо, определюсь с конструктором\деструктором |
23.10.2011, 23:45 | #8 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
http://codepad.org/UDbkfA8G
здесь все верно - создается и удаляется массив объектов соответствие между new[] / delete [] соблюдено
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
23.10.2011, 23:57 | #9 |
Пользователь
Регистрация: 23.10.2011
Сообщений: 35
|
Последний раз редактировалось kypck; 24.10.2011 в 00:03. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при удалении из БД!!! Delphi 7. | NuR1k | БД в Delphi | 2 | 21.08.2010 19:19 |
При удалении ADOStoredProc утверждает что parameter '@iddebt' not found | Илья Сергеевич | Помощь студентам | 0 | 16.01.2010 04:38 |
С++. Ошибка при удалении последней строки из файла | _Dis_ | Помощь студентам | 12 | 28.08.2009 21:33 |
ошибка при удалении символа | Virus191288 | Общие вопросы Delphi | 13 | 15.08.2009 14:50 |
Ошибка при удалении... | JRcoker | Общие вопросы Delphi | 8 | 29.07.2008 22:53 |