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

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

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

Список (найти ошибку в коде) - C++

09.06.2013, 20:13. Просмотров 183. Ответов 1
Метки нет (Все метки)

Почему компилируется программа?
Вот эта функция:
C++
1
2
3
4
5
6
List::node* seach(T el)
    {
        for(node* p = head->next; p != NULL; p = p->next)
            if(p->item == el) return p;
        return NULL;
    }
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#include <iostream>
 
using namespace std;
 
template<class T>
class List
{
public:
    List()
    {
        count = 0;
        head = new (node);
        head->next = NULL;
        head->prev = NULL;
    }
 
    ~List()
    {
        node *p, *p1;
        p = head;
        p1 = p->next;
        while(p1 != NULL)
        {
            p = p1;
            p1 = p1->next;
            delete p;
        }
        delete head;
    }
 
    bool empty()
    {
        if(head->next == NULL)
            return true;
        return false;
    }
 
    void pop_back()
    {
        count--;
        node *p, *p1;
        p = last;
        p1 = last->prev;
        else
        {
            p1->next = NULL;
            delete p;
            last = p1;
        }
    }
 
    void push_back(T el)
    {
        count++;
        node *p;
        p = new (node);
        p->item = el;
        if(head->next == NULL)
        {
            head->next = p;
            p->next = NULL;
            p->prev = head;
            last = p;
        }else{
            p->next = NULL;
            last->next = p;
            p->prev = last;
            last = p;
        }
    }
 
    void push_front(T el)
    {
        node *p, *p1;
        p = new (node);
        p->item = el;
 
        if(head->next == NULL){
            head->next = p;
            p->next = NULL;
            p->prev = head;
            last = p;
        }else{
            p->next = head->next;
            p->next->prev = p;
            head->next = p;
            p->prev = head;
        }
    }
 
    void print()
    {
        for(node* p = head->next; p != NULL; p = p->next)
            cout<<p->item<< " ";
        cout<<std::endl;
    }
 
    void clear()
    {
        node *p, *p1;
        p = front;
        p1 = p->next;
        while(p1 != NULL)
        {
            p = p1;
            p1 = p1->next;
            delete p;
        }
    }
    T front(){return head->next->item;}
    int size(){return count;}
 
    List::node* seach(T el)
    {
        for(node* p = head->next; p != NULL; p = p->next)
            if(p->item == el) return p;
        return NULL;
    }
private:
    int count;
    class node
    {
    public:
        T item;
        node* prev;
        node* next;
    }*head,*last;
};
 
int main()
{}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2013, 20:13     Список (найти ошибку в коде)
Посмотрите здесь:

Динамический список строк. Найти ошибку в коде - C++
#include &lt;iostream&gt; #include &lt;list&gt; // подключаем заголовок списка // заголовок итераторов #include &lt;locale&gt; #include &lt;string.h&gt; ...

Найти ошибку в коде - C++
Помогите исправить пожалуйста. #include &lt;stdio.h&gt; #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; void...

Найти ошибку в коде - C++
сдраствуйте!вот мой код программы!программа управления лифтом!почему-то пргграмма перестает работать: после перхода во вторую позицию после...

Найти ошибку в коде - C++
#include &quot;stdafx.h&quot; #include &lt;string.h&gt; #include &lt;iostream&gt; const int NE=5, ND=3; typedef char TStr; struct TEmp { int ENum; ...

Найти ошибку в коде - C++
помогите написать программу. есть код, но в нем ошибка, сама не разберусь какая а)a=(j-5.5)(i-3.2)(i-7.4) б)В качестве компонент...

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

Найти ошибку в коде - C++
Я нуб, всех тонкостей не знаю, тапками не кидайте. Вот код: int i = 0; if (i = 0) cout &lt;&lt; &quot;OK&quot;; else cout &lt;&lt; &quot;WTF???&quot;; ...

Найти ошибку в коде - C++
В книге Страуструпа есть задание. Сначала нужно создать пустой консольный проект в Visual Studio, затем включить туда файл исходного...

найти ошибку в коде - C++
Помогите найти ошибку в коде: #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;conio.h&gt; using namespace std; float y; int a,b; ...

Найти ошибку в коде - C++
надо ввести равные стороны 3-ка #include &lt;iostream&gt; using namespace std; int main() { float side1 , side2 , side3; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
4285 / 1407 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
09.06.2013, 20:26     Список (найти ошибку в коде) #2
S_O_A_D, поместите объявление класса node раньше, чем создаете функцию этого типа.
Yandex
Объявления
09.06.2013, 20:26     Список (найти ошибку в коде)
Ответ Создать тему
Опции темы

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