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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Doksim
57 / 57 / 8
Регистрация: 08.12.2013
Сообщений: 257
#1

Неправильно работает функция - C++

06.01.2014, 12:04. Просмотров 223. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
void FreeTop( Tree *&tree )
{
     if( tree->d == NULL )delete tree;
     else FreeTop( tree->d );
}
это моя функция освобождения памяти самого верхнего узла дерева.

но почему то когда вызываю вот тот код:
C++
1
2
3
4
5
while( tree != NULL ){
    FreeTop(tree);
    cout << endl;
    show( tree );
}
начинается бесконечный цикл. В чем проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2014, 12:04     Неправильно работает функция
Посмотрите здесь:

Неправильно работает функция - C++
Господа, написал следующий код, цель - заполнить имеющийся вектор структур данными из файла + вывести количество символа @ Проблема...

Неправильно работает функция - C++
You are given natural number n. Calculate 12+22+...+n2. Example Input Output 2 5 Добавлено через 1 минуту #include &lt;iostream&gt;...

Неправильно работает функция - C++
Проблема заключается в том, что в случае, если пользователь вводит числа от 1 до 9 все работает правильно, а если от 10 и далее, то...

Неправильно работает функция gets( ) - C++
..... char *str = new char; gets( str ); printf( &quot;%s&quot;, str ); .....

неправильно работает функция replace()? - C++
Нужно написать программу, которая заменяет в строке символ '/' на строку &quot;&quot;. Ниже дан цикл, в котором это происходит. Но замена почему-то...

Неправильно работает функция string::find_last_of - C++
include &lt;stdio.h&gt; #include &lt;string&gt; using namespace std; int main () { string temp= &quot;undefined reference to&quot;; size_t...

Неправильно работает функция CArray.Add() - C++
Вобщем вызываю CellAr.Add(DictCell(&quot;sda&quot;,823)) но в сам массив записывается объект созданный конструктором без параметров, хотя через...

Почему функция atanh работает неправильно? - C++
Задание http://content-15.foto.my.mail.ru/mail/megabayt_m/_answers/i-359.jpg Кусок кода for (double X = Xn; X &lt;= Xk; X += dX) { ...

Не работает функция синус и неправильно выводятся числа - C++
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;iomanip&gt; #include &lt;math.h&gt; #define MAX_RAND 0x7fff ...

Неправильно работает функция вывода введеных даных со структурами - C++
Написал код в котором надо ввести информацию об кубиках, потом ее надо вывести на екран. С вводом нет проблем, а после ввода выдает &quot;типа...

Функция неправильно возвращает значение - C++
double SparseMatrix::get(int i, int j)const { if (rows != nullptr &amp;&amp; cols != nullptr) { return rows-&gt;value; } return 0; ...

Функция неправильно считает сумму - C++
Функция mean() (определение стр.84-96,вызов ф-ции стр.42) неправильно считает сумму.Все функции до неё делают правильные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,012
06.01.2014, 12:10     Неправильно работает функция #2
Цитата Сообщение от Doksim Посмотреть сообщение
while( tree != NULL )
А где присваивание типа tree = NULL ?
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
06.01.2014, 12:15     Неправильно работает функция #3
Еще и ссылка на указатель ... кто Вас такому учит?
C++
1
2
3
4
5
if( tree->d == NULL )
{
   delete tree;
   tree = NULL;
}
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru