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

Error: ISO C++ forbids declaration of "Link" with no type - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить матрицы (где ошибка, ребят?) http://www.cyberforum.ru/cpp-beginners/thread715885.html
Составить матрицы (6,6) и B (6,6). Элементы третьей строки исследованной матрицы заменить нулями .. #include <iostream> #include <iomanip> using namespace std; int main () { float a;...
C++ Нужно 2 кода слепить в кучу (деревья) нужно 2 кода слепить в кучу...чтоб получилось что-то существенное...ато я не понимаю....помогите кому не сложно....:-| #include <stdio.h> #include <windows.h> #include <string.h> #include... http://www.cyberforum.ru/cpp-beginners/thread715866.html
Выпуклость фигуры C++
Здравствуйте,возникла проблема с нахождением косинуса между векторами и в следствии самого угла #include<iostream.h> #include<math.h> #include<string.h> void main() {double...
C++ Умножение матриц
Помогите умножить 2 матрицы размерностью 4х4, нужно создать ф-ю. Я пробовал, не получилось.. typedef int mat44; void mult_mat4(mat44 factor1, mat44 factor2, mat44 result) { printf("\n");...
C++ Вывести на экран таблицу значений функции Y(x)... http://www.cyberforum.ru/cpp-beginners/thread715829.html
Вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для x, изменяющегося от a до b с шагом с шагом h=(b– a)/10,
C++ Вызов функции одного класа в другом Доброго времени суток всем!:) Столкнулся с такой проблемой, не судите строго, только начал изучать ООП и тут возникла трабла... Есть 2 класса CTelephonNumber и COutTownZvonok. В CTelephonNumber... подробнее

Показать сообщение отдельно
Croessmah
Эксперт CЭксперт С++
13205 / 7476 / 839
Регистрация: 27.09.2012
Сообщений: 18,374
Записей в блоге: 3
Завершенные тесты: 1
02.12.2012, 10:33
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
typedef int key_t;
typedef double value_t;
 
class Sorted_List
{ 
public:
class Link{
    public:
    key_t key;
    value_t value;
    Link* next;
    };
    Link* prev;
    Link* temp;
    Link* cur;
    Link* temp2;
    Link* head;
    Link* first;
    Sorted_List();
    ~Sorted_List();
    void insert(key_t key, value_t value);
    void insert_after(key_t key,key_t newKey);
    void remove(key_t key, value_t value);
    void print();
    value_t find(key_t key);
    int size();
private:
    Sorted_List(const Sorted_List &);
    Sorted_List& operator=(Sorted_List const&);
};
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>
#include <iomanip>
#include "sorted_list.h"
 
using namespace std;
Sorted_List::Sorted_List()
{
cout<<"Constructor called"<<endl;
 this->head=NULL;//ОБНУЛЯТЬ ГОЛОВУ ТОЖЕ НАДО.
this->first=NULL;
}
Sorted_List::~Sorted_List()
{
Link *first=(Link*)this->head;
 
    while (first!=NULL)
    {
    Link *next=first->next;
    delete first;
    first=next;
    }
cout<<"Destructor called"<<endl;
}
 
void Sorted_List::remove(key_t key, value_t value)
{
    //if empty list
    first = this->head;
    if ( first == NULL ) 
    return;
 
     // if last node
    if ( first->next== NULL ) {
    delete first;
    head = NULL;
    }
    else { //first element
    first=head;
     head=head->next;//ИЗМЕНИЛ ТУТ ПОРЯДОК УДАЛЕНИЯ/ПРИСВОЕНИЯ
    free(head);
    
    }
    //between nodes
    first=head;
    while (first->next!=NULL)
    {
       if (first->next->value==key)
    {
         temp=first->next;
         first->next=temp->next;
         free(temp);
         }
     else
     {
     first=first->next;
}
}
}
value_t Sorted_List::find(key_t key)   
{
cur=first;
while(cur!=NULL);
{
   if (cur->key==key)
{
return cur->value;
}
else 
{
cur=cur->next;
}
}
return 0;
 
}
void Sorted_List::insert(key_t key,value_t value)
{
    
        temp = new Link;
    temp->key = key;
        temp->value = value;
    temp->next = head;
    head = temp;
 
 
}
void Sorted_List::insert_after(key_t key,key_t newKey)
{
    Link* temp = head;
    while (temp!=NULL)
        {
            if(temp->key==key)
            {
              Link *temp2;
              temp2 = new Link;
              temp2->key = newKey;
              temp2->value = 0;//= value; ТУТ НЕТ ПЕРЕМЕННОЙ value
     
              temp2->next = temp->next;
              temp->next = temp2;
              return;
            }
            temp=temp->next;
             
        }
}
 
 
void Sorted_List::print()
{
 
    first = head;
        
        while(first)
    {
    cout<<first->value<<endl;
        cout<<first->key<<endl;
    first=first->next;
    }
} 
 
int Sorted_List::size()
{
    int count=0;
    first=head;
    while(first!=0){//ТУТ БЫЛ БЕСКОНЕЧНЫЙ ЦИКЛ
        count++;
        first=first->next;
     }
     return count;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru