Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
pr1me222
0 / 0 / 0
Регистрация: 11.05.2011
Сообщений: 71
1

Шаблон односвязного списка

23.01.2013, 23:16. Просмотров 1438. Ответов 2
Метки нет (Все метки)

Код:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
#include <conio.h> 
using namespace std;
template <typename T>
class List
{
private:
        struct node 
        {
            T data;
            node * next;
            node(T d, node * nxt) : data(d), nxt(NULL) {}
        };
 
        node *first, *last;
public:
        List() : first(NULL), last(NULL) {}
        ~List();
 
        void Insert( T _data );
        bool Delete( int num );
};
 
 
template <typename T>
List<T>::~List()
{
    while ( first )
    {
        node * p = first->next;
        delete first;
        first = p;
    }
}
 
template <typename T>
void List<T>::Insert( T _data )
{
    node * p = new node( _data );
 
    if (!first)
        first = last = p;
    else
        last = last->next = p;
}
 
template <typename T>
bool List<T>::Delete( int num )
{
    if (num < 0) return false;
    for(node *p = first, *q; --num >= 0 && p != NULL; q = p, p = p->next);
    if (p == NULL) return false;
    if (p == first) 
        first = first->next;
    else
        q->next = p->next;
    delete p;
    return true;
}
 
void main()
{
    List<int> L;
    int i = 10;
 
    while(i--) L.Insert(i);
    //...
}
подскажите пожалуйста в чем причина ошибки:
Ошибка 1 error C2664: List<T>::node::node(const List<T>::node &): невозможно преобразовать параметр 1 из "int" в "const List<T>::node &" (строка 39)
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2013, 23:16
Ответы с готовыми решениями:

Шаблон для односвязного списка
Помогите разобраться с шаблонами, выводятся ошибки, ничего не получается.. //List.h #include...

Шаблон для односвязного списка
Доброго времени суток! Проблема - пишу шаблон для односвязного списка На приведенном фрагменте...

Шаблон для узла односвязного списка
Есть узел typedef struct Var { String varname; int value; struct Var *next; }...

Разработать шаблон класса для реализации односвязного списка
Помогите пожалуйста разработать шаблон класса для реализации односвязного списка.

Напишите шаблон класса односвязного списка, который принимает элементы любого типа
Ребята, помогите. Надо решить следующую задачу: Напишите шаблон класса односвязного списка,...

2
rangerx
1955 / 1564 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
23.01.2013, 23:52 2
Цитата Сообщение от pr1me222 Посмотреть сообщение
node * p = new node( _data );
У вас нет конструктора для node c одним параметром
C++
1
node(T d, node * nxt) : data(d), nxt(NULL) {}
0
Avazart
Эксперт С++
8021 / 5838 / 577
Регистрация: 10.12.2010
Сообщений: 26,955
Записей в блоге: 19
23.01.2013, 23:53 3
Ну так в конструкторе два параметра передавать надо
C++
1
node(T d, node * nxt) : data(d), nxt(NULL) {}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2013, 23:53

Спроектировать шаблон класса spisok для реализации односвязного линейного списка. Не работает сортировка
Здравствуйте! Очень нужна помощь в реализации программы. Задание: Спроектировать шаблон класса...

Удаление элементов из односвязного списка списка
Привет всем знатокам, суровым программистам и профессионалам своего дела. Засел за реализацией...

Вывод односвязного списка
Выводи лишь последний элемент, в чёи ошибка? Подскажите пожалуйста #include &quot;stdafx.h&quot; #include...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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