Форум программистов, компьютерный форум CyberForum.ru

Ошибка при освобождении памяти - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Отправка POST запроса через соксы http://www.cyberforum.ru/cpp-beginners/thread540643.html
Здравствуйте! Помогите с отправкой запросов в С++ без cURL, через соксы. Есть PHP: http://den-x.comule.com/act.php На него надо отправить POST запрос user=tester,в ответ он должен выдать tester. Сам код возвращаемой страницы записать в файл. Добавлено через 16 часов 20 минут Ошибся, через сокеды.
C++ HBITMAP, CImage, BITMAP, CBitmap. Заблудился в трех березах. Где же выход? имеется: дискриптор картинки с диска, структура BITMAP заполненная в соответствии с этой картинкой, объект CBitmap с "прикрепленным" дискриптором, все это очень замечательно выводится на экран. /*CString name; CRect rc; HANDLE hBmp; BITMAP bm; HBITMAP hbmpOld, hToSave; - объявлены и опредлены в другом месте*/ CClientDC dc(this); CDC dcMem; CBitmap ... http://www.cyberforum.ru/cpp-beginners/thread540625.html
Воспользоваться методом: А)Сортировки прямым выбором; Б) «шейкерной» сортировки. C++
Даны действительные числа a_1,…,a_n. Получить попарно различные целые j_1,…,j_n, такие, что 1≤k_j≤n,k=1,…,n, и a_j1≥a_j2≥⋯≥a_jn. Воспользоваться методом: А)Сортировки прямым выбором; Б) «шейкерной» сортировки.
C++ нужна оптимизация приложения
Одной ночью коту Мурзику приснилось, что он судья на математических соревнованиях крыс. Соревнования проводятся среди N команд по K крыс в каждой. Соревнования проводятся в К раундов, в каждом из которых представитель команды называет число. Побеждает та команда, у которой произведение всех чисел наибольшее. Почему крысы не называют каждый раз максимально возможное число? На то они и крысы, что...
C++ Реализовать подпрограммы посредством: А) процедур; Б) функции. http://www.cyberforum.ru/cpp-beginners/thread540587.html
По заданным вещественным числам a_0,a_1,… ,a_30,b_0 ,b_1,… b_30,c_0,c_1,…,c_30,x,y,z. вычислить величину ((a_0 x^30+a_1 x^29+⋯+a_30 )^2-(b_0 y^30+b_1 y^29+⋯+b_30 ))/(c_0 (x+z)^30+c_1 (x+z)^29+⋯+c_30 ) Реализовать подпрограммы посредством: А) процедур; Б) функции.
C++ Дан файл f:file of real. Найти наибольшее из значений компонент. Дан файл f:file of real. Найти наибольшее из значений компонент. подробнее

Показать сообщение отдельно
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
06.04.2012, 23:42     Ошибка при освобождении памяти
Дык дело в том что указатель на указатель можно представить как двумерный массив. А вам нужен одномерный, как и в стандартном векторе. **p означает: массив указателей на массив указателей на тип T. В вашем же случае нужен массив указателей на тип Т. То есть *p. Если уж нужно сделать двумерный массив, то делайте так же как это делается с std::vector, например
C++
1
std::vector< std::vector<int> > b;
Хотя так вроде не советуют делать...

Добавлено через 15 минут
И да как вам уже сказали,
C++
1
delete p[ i ];
в 25 строчке, если вы хотите чтоб ваш код был рабочий. И Kuzia domovenok, верно сказал, как и все кто выше отписался. Вы выделяли память для объектов с помощью new, а не new [] ( строки 16 - 17 ), так и удаляйте их используя delete а не delete []. Или измените в 17 строчке на
C++
1
p[ i ] = new T[ size ];
я думаю что это и имелось ввиду. Иначе у вас создается массив указателей на массив указателей из одного элемента на Т.
 
Текущее время: 18:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru