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

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

Войти
Регистрация
Восстановить пароль
 
pr1me222
0 / 0 / 0
Регистрация: 11.05.2011
Сообщений: 71
#1

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

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

Шаблон для односвязного списка - C++
Доброго времени суток! Проблема - пишу шаблон для односвязного списка На приведенном фрагменте дает ошибку - &quot; 45 D:\C++\test.cpp...

Шаблон для односвязного списка - C++
Помогите разобраться с шаблонами, выводятся ошибки, ничего не получается.. //List.h #include &quot;header.h&quot; template &lt;typename...

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

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

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

Идеология односвязного списка - C++
Здарова! Посмотрел, что такое односвязный список и возникли естественно кое-какие чисто идеологические вопросы. Насколько я понял,...

Заполнение односвязного списка - C++
как ввести данные в список? struct LIST { int data; LIST*next; }; пишу на С++

Печать односвязного списка - C++
Доброго времени суток. Выполняя задание возникла трудность. Использую метод для этого, но почему-то вместо адекватного текста появляется...

Из односвязного списка в двусвязный - C++
Помогите, кусок переделать в двусвязный список. #include &lt;iostream&gt; using namespace std; struct Node { int data; ...

Сортировка односвязного списка пузырьком - C++
Сортирую список по убыванию пузырьком (он заполняется 46 случайными числами от 1 до 26) Смысл понятен но в синтаксисе языка делаю ошибки....

Сортировка односвязного списка (2 метода) - C++
Здравствуйте, у меня проблема с сортировкой односвязного списка(то теряю указатель и получается список короче, то не до конца обходятся...

Написать сортировку односвязного списка - C++
Здравствуйте. Написал программу для работы со списком. Программа работает, но не получается написать сортировку по полю pole. Помогите...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,909
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
7102 / 5279 / 267
Регистрация: 10.12.2010
Сообщений: 23,290
Записей в блоге: 17
23.01.2013, 23:53     Шаблон односвязного списка #3
Ну так в конструкторе два параметра передавать надо
C++
1
node(T d, node * nxt) : data(d), nxt(NULL) {}
Yandex
Объявления
23.01.2013, 23:53     Шаблон односвязного списка
Ответ Создать тему
Опции темы

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