Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

09.06.2013, 20:13. Просмотров 192. Ответов 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()
{}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2013, 20:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Список (найти ошибку в коде) (C++):

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

Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде) - C++
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { int y = 0; for(int i = -21; i &lt; -99; i+=3) ...

Найти ошибку в коде - C++
if (PTS&gt;=0 &amp;&amp; PTS&lt;999) title2 = &quot;D-&quot;; if (PTS&lt;=0) title2 = &quot;Noob&quot;; if (PTS&gt;=1000 &amp;&amp; PTS&lt;1999) title2 = &quot;D&quot;; if (PTS&gt;=2000 &amp;&amp;...

Найти ошибку в коде - C++
Помогите пожалуйста найти ошибку в коде: #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; int main() ...

Найти ошибку в коде - C++
Где ошибка? #include &lt;iostream.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; main () { clrscr(); float x,y; cout &lt;&lt;...

Найти ошибку в коде - C++
Помогите пж. найти ошибку в коде,он почему то последний символ не считывает. #include &lt;iostream&gt; #include &lt;fstream&gt; using namespace...

1
BumerangSP
4287 / 1409 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
09.06.2013, 20:26 #2
S_O_A_D, поместите объявление класса node раньше, чем создаете функцию этого типа.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2013, 20:26
Привет! Вот еще темы с ответами:

Найти ошибку в коде - 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++
Помогите найти ошибку в коде: #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;conio.h&gt; using namespace std; float y,y2,y3,y4; ...

Найти ошибку в коде - C++
#include&lt;iostream&gt; using namespace std; class samp { int a; public: void set_a(int n) { a=n; }

Найти ошибку в коде - C++
int i = 0, counter; float sum = 0, grade, quality; cout &lt;&lt; &quot;Inter a number of pupils: &quot;; cin &gt;&gt; counter; if...


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

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

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