![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Migelь |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 25.2.2009 Репутация: нет Всего: нет |
Доброго времени суток, проблема вроде как на ровном месте.
Создается массив структур, работа с ним, далее освобождаем память. Тут самое интересное, начинает ругаться матом "Damage:after normal block(#42) at 0x00490030". Ругается в конце, во время
Уже пробовал писать и delete[] buffer, и delete(buffer), словом, я чего-то не замечаю.
|
||||
|
|||||
Dmi3ev |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 13 Всего: 41 |
лучше так...
Это сообщение отредактировал(а) Dmi3ev - 25.2.2009, 02:52 -------------------- |
||||
|
|||||
Migelь |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 25.2.2009 Репутация: нет Всего: нет |
Спасибо, понял, я сначало создал неизвестно что с неизвестным размером и вышел за пределы. Пасиба.
|
|||
|
||||
Carnivore |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 9.12.2008 Где: St.-Petersburg Репутация: нет Всего: нет |
Используйте malloc/free или new/delete. Добавлено через 2 минуты и 43 секунды В первом случае (malloc/free) придется явно вызывать конструктор и деструктор, что не очень хорошо. И вообще намешали вы тут C и C++. |
|||
|
||||
bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Согласен с Carnivore. Более того, есть правило хорошего тона, освобождать память в той же функции, что и выделение. Т.е. в твоем случае операция delete []buffer должна быть выполнена в конце функции main().
На будущее: функция main() должна возвращать int, т.е. нужно выбрать один из двух вариантов определения:
|
||||
|
|||||
Carnivore |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 9.12.2008 Где: St.-Petersburg Репутация: нет Всего: нет |
Или просто
![]() Добавлено через 4 минуты и 59 секунд если у тебя современный компилятор |
|||
|
||||
bsa |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Чем это отличается от моего первого варианта? Отстуствием return? |
||||
|
|||||
Carnivore |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 9.12.2008 Где: St.-Petersburg Репутация: нет Всего: нет |
||||
|
||||
cutwater |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 2 Всего: 10 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |