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

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

Восстановить пароль Регистрация
 
pr1me222
0 / 0 / 0
Регистрация: 11.05.2011
Сообщений: 71
23.01.2013, 23:16     Шаблон односвязного списка #1
Код:
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)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2013, 23:16     Шаблон односвязного списка
Посмотрите здесь:

C++ Шаблон для односвязного списка
Сортировка односвязного списка C++
C++ Сортировка односвязного списка
Из односвязного списка в двусвязный C++
C++ Напишите шаблон класса односвязного списка, который принимает элементы любого типа
Спроектировать шаблон класса spisok для реализации односвязного линейного списка. Не работает сортировка C++
C++ Сортировка односвязного списка
C++ Шаблон для односвязного списка

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
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) {}
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,594
Записей в блоге: 17
23.01.2013, 23:53     Шаблон односвязного списка #3
Ну так в конструкторе два параметра передавать надо
C++
1
node(T d, node * nxt) : data(d), nxt(NULL) {}
Yandex
Объявления
23.01.2013, 23:53     Шаблон односвязного списка
Ответ Создать тему
Опции темы

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