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

шаблоны классов: непонятная ошибка в одном из методов класса - C++

Восстановить пароль Регистрация
 
Progr
2 / 2 / 0
Регистрация: 17.03.2013
Сообщений: 25
17.03.2013, 18:46     шаблоны классов: непонятная ошибка в одном из методов класса #1
Задача создать шаблон двоичного дерева поиска. В методе удаления узла IntelliSense выдает ошибку: ссылается на if и пишет: "требуется объявление". Как бы я чо не менял ошибка одна и та же. помогите, вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
template <class T> int BinST<T> :: del(int key, BSTNode *root)
{
    if (empty())
        return -1;
    if (key > root -> getKey())
        return del(key, root -> getRight());
    if (key < root -> getKey())
        return del(key, root -> getLeft());
    // Иначе key точно равен root -> key
    int numOfChildren;
    if (numOfChildren == 0) // Здесь ошибка!!!
        root -> DELETE();
    if (numOfChildren == 1) // и здесь
    {
        BSTNode *child;
        if (root -> left == NULL)
            child = root -> getRight();
        else
            child = root -> getRight();
        root -> getRight() = child -> getRight();
        root -> getLeft() = child -> getLeft();
        root -> setKey(child -> getKey());
        root -> setData(child -> getDATA());
        return child -> DELETE();
    }
    if (numOfСhildren == 2)
    {
        BSTNode *ML = root -> getML(root -> getRight());
        root -> setKey( ML -> getKey() );
        root -> setData( ML -> getDATA() );
        return del( ML->getKey(), ML );
    }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
17.03.2013, 18:50     шаблоны классов: непонятная ошибка в одном из методов класса #2
int numOfChildren;
действительно требуется объявление
int numOfChildren = 0;
Progr
2 / 2 / 0
Регистрация: 17.03.2013
Сообщений: 25
17.03.2013, 18:58  [ТС]     шаблоны классов: непонятная ошибка в одном из методов класса #3
я это пробовал: все равно не действует
SummerRain
 Аватар для SummerRain
325 / 324 / 17
Регистрация: 16.12.2012
Сообщений: 544
17.03.2013, 19:04     шаблоны классов: непонятная ошибка в одном из методов класса #4
конечно, не будет действовать. нужно с numOfChildren что-то ещё делать. Если мы просто объявим
int numOfChildren = 0;
то само собой будет выполняться тело первого оператора if(numOfChildren == 0). Компилятор не будет писать за нас код.
Yandex
Объявления
17.03.2013, 19:04     шаблоны классов: непонятная ошибка в одном из методов класса
Ответ Создать тему
Опции темы

Текущее время: 06:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru