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

Проблемы с delete [], программа периодически аварийно завершается на строке с освобождением памяти. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переписать код, без использования sstream и algoritm http://www.cyberforum.ru/cpp-beginners/thread539946.html
#include "stdafx.h" #include <iostream> #include <sstream> #include <algorithm> #include <string> bool isGood(const std::string& s, size_t margin){ for ( std::string::const_iterator i = s.begin(); i != s.end(); ++i ) if ( std::count(s.begin(), s.end(), *i) > margin ) return true;
C++ Разработка алгоритмов поиска в массивов [Задача] Всем привет. Кто поможет написать задачку? Дано натуральное число n. Выяснить, сколько положительных элементов содержит массив А , если aij = sin (i + j / 2). Заранее благодарен. http://www.cyberforum.ru/cpp-beginners/thread539925.html
C++ Зданы координаты вершин четырёхугольника. Определить его тип:прямоугольник , паралелограм, трапеция , квадрат, произвольный
Зданы координаты вершин четырёхугольника. Определить его тип:прямоугольник , паралелограм, трапеция , квадрат, произвольный. Помогите написать программу пожалуйста. Добавлено через 4 часа 55 минут подскажите как решать хотябы её.формулы.признаки.
C++ Хэлп с функциями
1.Написать функцию, которая умножает поэлементно 2 массива. Параметрами функции должны быть оба массива и массив, в который записывается результат. (ХЭЭЛП)
C++ Во входном потоке определить число слов содержащих цифры. http://www.cyberforum.ru/cpp-beginners/thread539916.html
Во входном потоке определить число слов содержащих цифры. Под словом понимать любую последовательность из символов , за исключением разделителей. Разделители : пробел, символ горизонтального табулирования , символ перехода на новую строку.
C++ Непонятная ошибка при вызове std::vector::resize Недавно заметил непонятную ошибку при вызове метода resize(); Я так и не понял как правильно создавать таблицы с динамически изменяющимися размерами строк и столбцов. Ошибка в методе // метод для одновременного изменения void matrix::resize(unsigned col_count,unsigned row_count) { this-> vector<vector<string> >::resize(col_count); for(unsigned c=0; c< col_count;c++)... подробнее

Показать сообщение отдельно
stanis-morozov
15 / 15 / 1
Регистрация: 18.03.2012
Сообщений: 91
05.04.2012, 17:28     Проблемы с delete [], программа периодически аварийно завершается на строке с освобождением памяти.
Добрый день!
Столкнулся со следующей задачей: в программе требуется довольно часто изменять размеры массива, для чего использую динамические массивы.
Объявляю массив так:
C++
1
int *a;
Выделяю под него память так:
C++
1
a = new int[n];
Освобождаю так:
C++
1
delete [] a;
Но при этом программа периодически аварийно завершается на строке с освобождением памяти. То есть она может 20 раз освободить и выделить память, а на 21-ый вылететь. Хотя перед освобождением массив всегда в рабочем состоянии и все элементы в нем доступны.
С чем может быть связано такое нежелание освобождать память?
Заранее благодарен!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru