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

Классы - ошибка в деструкторе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Зацикливается make (makefile) http://www.cyberforum.ru/cpp-beginners/thread817225.html
Решил освоить makefile Создаю простейшую программу, состоящую из единственного файла main.cpp Создаю makefile (makefile): all: g++ main.cpp -o test Создаю батник: make
C++ Дано предложение. Напечатать все различные слова Здравствуйте уважаемые форумчане. Дано предложение. Напечатать все различные слова... Как тут быть, какие идеи..? http://www.cyberforum.ru/cpp-beginners/thread817221.html
STL бинарное дерево C++
Доброго времени суток!:) Изучаю STL, пока поверхностно прошелся по контейнерам, но не встретил деревьев... хотя set, multiset, map и multimap реализованы на основе бинарных деревьев... и у меня возник вопрос, каким образом можно реализовать бинарное дерево с помощью STL, не каждый раз же вручную писать.... Заранее спасибо!:)
C++ Что выполняется быстрее?
Что выполняется быстрее (в первом случае идет вычисление адреса элемента массива, а во втором вычисляется сам элемент, причем известно что обязательно вычитание)?. Есть ли способы сделать это быстрее? Случай 1: mas = mas2; Случай 2: mas = i - j;
C++ Сокращение дроби http://www.cyberforum.ru/cpp-beginners/thread817187.html
Есть класс дроби с полями Чисельник и Знаменник. надо написать функцию сокращение дроби. сделать функцию дружественной и т.п. я умею, мне надо просто саму ф-цию сокращения, ну или ее алгоритм.
C++ (7,3):Declaration syntax error Помогите исправить ошибку #include <stdio.h> #include <conio.h> main() { int a,b; int Cube (int n) { return n*n*n; } подробнее

Показать сообщение отдельно
Hunter13ua
46 / 46 / 5
Регистрация: 25.10.2011
Сообщений: 183
24.03.2013, 16:46     Классы - ошибка в деструкторе
У меня сейчас такое "задание": опередить класс длинного целого числа (длинная арифметика), для сохранения которого необходимо использовать однонаправленный связной список. Конструктор создаёт всего-лишь первый элемент списка "Head" со значениями data = NULL, next = NULL. При чтении числа значения заносятся в конец списка.
В итоге данный деструктор выдаёт ошибку при удалении двух чисел в конце работы программы:
C++
1
2
3
4
5
6
7
8
9
10
11
LongNum::~LongNum()
{
        LongNum *temp1 = this->Head;
        LongNum *temp2;
        while ( temp1 != NULL )
        {
                temp2 = temp1;
                temp1 = temp1->next;
                free(temp2);
        }
}
Для выделении памяти использую malloc.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru