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

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

Войти
Регистрация
Восстановить пароль
 
Luzifer
 Аватар для Luzifer
6 / 6 / 2
Регистрация: 28.06.2010
Сообщений: 88
#1

Отсутствие списка аргументов для класса - C++

29.11.2012, 22:46. Просмотров 325. Ответов 9
Метки нет (Все метки)

Не создается объект. Как решить данную проблему? Не изменяя класса...

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
template <typename X, typename T>
class Node
{
public:
    T value;
    X *next;
    X *prev;
};
 
int main(void)
{
    Node<Node, int> x;
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2012, 22:46     Отсутствие списка аргументов для класса
Посмотрите здесь:

Итератор для своего контейнерного класса-списка C++
Объект класса без аргументов и с ними C++
C++ Шаблон класса Node для узла связного списка
C++ Реализовать шаблон класса для хранения динамического списка
Идентификаторы списка в качестве аргументов функции C++
C++ Разработать шаблон класса для реализации односвязного списка
C++ Разработать шаблон класса для работы со стеком реализованным в виде связного списка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
29.11.2012, 23:20     Отсутствие списка аргументов для класса #2
класс нод является шаблонным. значит везде надо указывать соответствующие типы данных
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
29.11.2012, 23:22     Отсутствие списка аргументов для класса #3
а почему X у тебя typename? Что Node может иметь указатели на что-то другое, кроме Node* ?
Luzifer
 Аватар для Luzifer
6 / 6 / 2
Регистрация: 28.06.2010
Сообщений: 88
29.11.2012, 23:24  [ТС]     Отсутствие списка аргументов для класса #4
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
а почему X у тебя typename? Что Node может иметь указатели на что-то другое, кроме Node* ?
к примеру другой класс

Исходный код такой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
template <typename X, typename T>
class Tree
{
public:
    X *root;
    X *left;
    X *right;
    void first(T);
    void search_insert(T);
    void print_tree(X *, int);
};
 
template <typename X, typename T>
class Node
{
public:
    T value;
    X *left;
    X *right;
};
и соответственно вместо Х надо впихнуть Node
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
29.11.2012, 23:34     Отсутствие списка аргументов для класса #5
Чем не устраивает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
template <typename T>
class Node
{
public:
    T value;
    Node *left;
    Node *right;
};
template <typename T>
class Tree
{
public:
    Node<T>  *root;
    Node<T>  *left;
    Node<T>  *right;
    void first(T);
    void search_insert(T);
    void print_tree(Node<T>  *, int);
};
Luzifer
 Аватар для Luzifer
6 / 6 / 2
Регистрация: 28.06.2010
Сообщений: 88
29.11.2012, 23:35  [ТС]     Отсутствие списка аргументов для класса #6
Реализовать шаблон класса дерево, реализующий бинарное дерево. Для представления узлов дерева использовать шаблон класса NODE
Kuzia domovenok
 Аватар для Kuzia domovenok
1886 / 1741 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
29.11.2012, 23:37     Отсутствие списка аргументов для класса #7
Ну и? Что я делаю не так?
Luzifer
 Аватар для Luzifer
6 / 6 / 2
Регистрация: 28.06.2010
Сообщений: 88
29.11.2012, 23:38  [ТС]     Отсутствие списка аргументов для класса #8
препод написал классы в том виде который я использовал:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
template <typename X, typename T>
class Node
{
public:
    T value;
    X *left;
    X *right;
};
 
template <typename X, typename T>
class Tree
{
public:
    X *root;
    X *left;
    X *right;
};
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
29.11.2012, 23:41     Отсутствие списка аргументов для класса #9
Luzifer, допишите еще один шаблон для нода, но с одним параметром. В текущем вашем варианте задание нереализуемо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2012, 23:54     Отсутствие списка аргументов для класса
Еще ссылки по теме:

Спроектировать шаблон класса spisok для реализации односвязного линейного списка. Не работает сортировка C++
Параметр конструктора класса нигде не задействован, но его отсутствие влияет на компиляцию, почему так? C++
C++ Шаблон класса, передача аргументов
Создание метода без класса и аргументов разве нельзя ? C++
C++ Отсутствует список аргументов для шаблон класса std::vector

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

Или воспользуйтесь поиском по форуму:
Luzifer
 Аватар для Luzifer
6 / 6 / 2
Регистрация: 28.06.2010
Сообщений: 88
29.11.2012, 23:54  [ТС]     Отсутствие списка аргументов для класса #10
Цитата Сообщение от I.M. Посмотреть сообщение
Luzifer, допишите еще один шаблон для нода, но с одним параметром. В текущем вашем варианте задание нереализуемо
Остановился на этом Tree<Node<int, int>, int> ROOT;
Yandex
Объявления
29.11.2012, 23:54     Отсутствие списка аргументов для класса
Ответ Создать тему
Опции темы

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