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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2010, 20:48   #1
pure
Пользователь
 
Регистрация: 29.01.2010
Сообщений: 10
По умолчанию Corruption of the heap при вызове деструктора

Здраствуйте. У меня вылетает ошибка повреждения кучи при работе программы, приведу отрывок кода:

Код:
class matrix
{//класс матрицы
public:
	int i;//кол-во строк
	int j;//кол-во столбов
	int **a;//массив элементов
	matrix(int i1, int j1)
	{
		int sz=i1*j1;
		a=new int*[sz];
		for(i=0;i<i1;i++)a[i]=new int[j1];
		j=j1;
	}
	~matrix()
	{
		for(j=0;j<i;j++)delete[]a[j];
		delete[]a;
	}
};
это класс матрицы и ошибка выпадает на строке
for(j=0;j<i;j++)delete[]a[j];

сама матрица создаётся и заполняется след. образом:
Код:
		A=new matrix(i,++j);
		i=0;
		do
		{		
			j=0;
			do
				if (!fscanf_s(f,"%d ",&A->a[i][j++]))
				{
					cout<<"Ошибка чтения массива А из файла!\n\n";
					break;			
				}
			while (q1-->0);
			q1=q;
			//в переменной q хранится кол-во элементов минус один в строке
			i++;
		}while (!feof(f));
		delete(A);
что не так? все элементы считываются и передаются в матрицу A нормально вроде бы... не пойму совсем((

Последний раз редактировалось pure; 30.11.2010 в 21:01.
pure вне форума Ответить с цитированием
Старый 30.11.2010, 21:09   #2
pure
Пользователь
 
Регистрация: 29.01.2010
Сообщений: 10
По умолчанию

спасибо, разобрался) ошибка была здесь A=new matrix(i,++j);
j передавал не то... тему можно удалять

Последний раз редактировалось pure; 01.12.2010 в 00:17.
pure вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ругается на минус при создание деструктора Hichigo Общие вопросы C/C++ 10 21.08.2010 07:33
Heap Corruption при попытке перевыделить память под массив внутри структуры Farrel Общие вопросы C/C++ 1 21.04.2010 00:45
Использование конструкторов и деструктора при проектировании пользовательского класса НеважНо Общие вопросы C/C++ 1 22.01.2010 14:56
HEAP CORRUPTION удаляю массив delias Общие вопросы C/C++ 1 10.12.2009 10:17