Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2011, 14:00   #1
zmejchik
Пользователь
 
Регистрация: 30.05.2009
Сообщений: 10
По умолчанию Не работает оператор delete []

Начал изучать с++. Стоит visual studio 2008

Создаю динамический массив, при попытке выполнить высвобождение памяти выскакивает такая ошибка (Причем без оператора delete[]все работает)
Цитата:
ОС Windows инициировала точку останова в lightyear.exe.
Это может быть вызвано повреждением кучи и указывает на ошибку в lightyear.exe или в одной из загруженных им DLL.
Возможной причиной так же может быть нажатие пользователем клавиши F12, когда фокус принадлежит lightyear.exe
Выведенное на экран окно содержит дополнительные данные для диагностики ошибки
Может кто подскажет что не так. Вот этот кусок кода
int Kol;

int *Mas2=new int(Kol);
for (int i=0;i<Kol;i++)
{
cin>>*(Mas2+i);
};

delete [] Mas2;
zmejchik вне форума Ответить с цитированием
Старый 08.11.2011, 14:11   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а вы не массив создали.
у вас еще и повреждение кучи в вашем коде(если Kol>1)

Код:
int *Mas2=new int[Kol];
массив это квадратные скобки.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.11.2011, 15:54   #3
zmejchik
Пользователь
 
Регистрация: 30.05.2009
Сообщений: 10
По умолчанию

Спасибо большое. Все заработало. (Оказалось скан учебника плохой и квадратные скобки по виду как круглые, только сейчас присмотрелся и заметил какую то разницу)
zmejchik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
оператор delete KOLANICH Общие вопросы C/C++ 4 27.07.2011 15:24
не работает процедура delete gufon Общие вопросы Delphi 2 16.05.2011 23:16
Не работает функция copy и delete omigos99 Паскаль, Turbo Pascal, PascalABC.NET 2 03.10.2010 13:46
Простейший DELETE, а не работает((( Blondy SQL, базы данных 6 11.05.2010 20:11
Почему не работает Selection.Delete? Andru2008 Microsoft Office Excel 18 16.01.2009 18:23