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

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

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

Ошибка С1001 - C++

06.12.2012, 18:45. Просмотров 406. Ответов 8

При компиляции выдаёт ошибку компилятора. В чём может быть проблема? При комментировании List (const List &) компилируется, но вылетает с ошибкой о недостаче прав.
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
#include "iostream"
using namespace std;
template <typename T>
 
 
 
class List
{
private:
    struct Element
    {
        T data;
        Element * next;
    };
    Element * head;
    Element * cur;
    Element * prev;
    List (const List &);
    List & operator =(const List &);
public:
   
List<T>::List(void)
{
    head(0);
}
 
 
List<T>::~List(void)
{
    Element * p = head;
    while (p != 0)
    {
        Element * next = p->next;
        delete p;
        p = next;
    }
}
 
 
void List<T>::push_front(T el)
{
    Element * temp = new Element;
    temp->data = el;
    if (head == NULL)
    {
        head = temp;
    }
    Element * newHead = temp;
    newHead->next = head;
}
 
 
T List<T>::del_front(void)
{
    T x;
    if (head == NULL)
    {
        std::cout << "List is empty!";
        getchar();
        exit(1);
    }
    x = head -> data;
    Element * newHead = head->next;
    delete head;
    head = newHead;
    cout << x;
    return x;
}
 
 
void List<T>::push_back(T el)
{
    Element * temp = new Element;
    temp -> data = el;
    Element * cur;
    if (head == NULL)
    {
        head = temp;
    }
    else
    {
        cur = head;
        while (cur -> next != NULL)
        {
            cur = cur -> next;
        }
        cur -> next = temp;
    }
}
 
T List<T>::del_back(void)
{
    T x;
    Element * cur = head;
    while (cur -> next != NULL)
    {
        cur = cur -> next;
    }
    x = cur -> data;
    delete cur;
    cout << x;
    return x;
}
 
};
 
int main()
{
    List<int> list;
    getchar();
    for (int i = 0; i < 5; i++)
    {
        list.push_front (i);
    }
    getchar();
    list.push_front(15);
    getchar();
    list.del_front();
    getchar();
    list.push_back(10);
    getchar();
    list.del_back();
    getchar();
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2012, 18:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка С1001 (C++):

IIS- asp ошибка: HTTP 500.100 - Внутренняя ошибка сервера - ошибка ASP Internet Information Services - C# ASP.NET
Привет! Конфигурация win2000pro sp2, стандартный IIS, IE 5. При попытке обратиться к сценарию(asp) получаю ошибку: &lt;пропуск&gt; ......

1C 8.x Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка записи! - 1С
Доброго всем времени суток! подскажи пожалуйста как исправить ошибку: Ошибка при чтении изменений при обмене РИБ: Ошибка при вызове...

Ошибка при добавлении в файл. Ошибка 101: Ошибка записи на диск (Error 101: Disk write error). - Turbo Pascal
Здравствуйте, возникла проблема такого плана. Нужно произвести добавление записи в файл, но после успешного создания и чтения вылазиет...

Ошибка HTTP 500 - внутреняя ошибка сервера при отправке почты. - C# ASP.NET
Я пытаюсь отправить почту и присоединяю к ней письма Вот часть страницы Dim myMail Set myMail = CreateObject('CDONTS.NewMail') ...

ASP: Response.Redirect - не работает, ошибка `500 - Внутренняя ошибка сервера' - C# ASP.NET
Всем привет! Есть в ASP-сраничке такой код: Response.Redirect 'page1.asp?ReturnTo=page2.asp' Эта конструкция работала на IIS 4,...

Django Ошибка доступа (403) Ошибка проверки CSRF. Запрос отклонён - Python
На хостинге разместил сайт и не могу войти в админку, т.к. возникает 403 ошибка &quot;Ошибка доступа (403). Ошибка проверки CSRF. Запрос...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
06.12.2012, 18:48 #2
у оператора присваивания нет реализации
и у конструктора копирования тоже
0
FireStar
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 12
06.12.2012, 18:54  [ТС] #3
То есть, я просто должен описать эти функции в коде?

Описал. Не помогло.
0
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
06.12.2012, 18:56 #4
FireStar, ага.
Но так будут исправлены только синтаксические ошибки.
Вполне возможно, прога будет работать неверно. Я просто код практически не смотрел.
0
FireStar
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 12
06.12.2012, 19:10  [ТС] #5
Та же ошибка С1001.
0
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
06.12.2012, 19:22 #6
FireStar, как теперь выглядит код?
0
FireStar
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 12
06.12.2012, 19:26  [ТС] #7
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
132
133
134
135
136
137
138
139
140
141
142
#include "iostream"
using namespace std;
template <typename T>
 
 
 
class List
{
private:
    struct Element
    {
        T data;
        Element * next;
    };
    Element * head;
    Element * cur;
    Element * prev;
    List (const List &);
    List & operator =(const List &);
public:
   
List<T>::List(void)
{
    head(0);
}
 
 
List<T>::~List(void)
{
    Element * p = head;
    while (p != 0)
    {
        Element * next = p->next;
        delete p;
        p = next;
    }
}
 
List::List (const List &x)
 {       
    if (this == &x) 
        delete data;
data = new char[strlen(x.data) + 1];
strcpy(data, x.data);
 }
 
List List:: operator= (const List &b)
 {
    if (this == &b) 
        return *this;
        delete data;
data = new char[strlen(b.data) + 1];
strcpy(data, b.data);
return *this;
 };
 
void List<T>::push_front(T el)
{
    Element * temp = new Element;
    temp->data = el;
    if (head == NULL)
    {
        head = temp;
    }
    Element * newHead = temp;
    newHead->next = head;
}
 
 
T List<T>::del_front(void)
{
    T x;
    if (head == NULL)
    {
        std::cout << "List is empty!";
        getchar();
        exit(1);
    }
    x = head -> data;
    Element * newHead = head->next;
    delete head;
    head = newHead;
    cout << x;
    return x;
}
 
 
void List<T>::push_back(T el)
{
    Element * temp = new Element;
    temp -> data = el;
    Element * cur;
    if (head == NULL)
    {
        head = temp;
    }
    else
    {
        cur = head;
        while (cur -> next != NULL)
        {
            cur = cur -> next;
        }
        cur -> next = temp;
    }
}
 
T List<T>::del_back(void)
{
    T x;
    Element * cur = head;
    while (cur -> next != NULL)
    {
        cur = cur -> next;
    }
    x = cur -> data;
    delete cur;
    cout << x;
    return x;
}
 
};
 
int main()
{
    List<int> list;
    getchar();
    for (int i = 0; i < 5; i++)
    {
        list.push_front (i);
    }
    getchar();
    list.push_front(15);
    getchar();
    list.del_front();
    getchar();
    list.push_back(10);
    getchar();
    list.del_back();
    getchar();
    return 0;
}
0
prazuber
110 / 110 / 3
Регистрация: 29.04.2010
Сообщений: 240
06.12.2012, 19:37 #8
List<T>:: поубирайте. Так же уберите
C++
1
2
    List (const List &);
    List & operator =(const List &);
0
FireStar
0 / 0 / 0
Регистрация: 06.12.2012
Сообщений: 12
06.12.2012, 19:45  [ТС] #9
Убрал и исправил, как Вы сказали.
Выдаёт ошибку "Первый этап обработки исключения по адресу 0x01325101 в class_list.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000005.

Если для этого исключения имеется обработчик, выполнение программы может быть продолжено безопасно." вот в этой строке "while (cur -> next != NULL)"
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2012, 19:45
Привет! Вот еще темы с ответами:

Interbase Ошибка SQL запроса , в базе работает, а через IBQuery в Delphi ошибка - Delphi БД
В Combobox загружены имена организаций. Нужно выполнить запрос на вывод всех полей таблицы организаций при выборе имени в Combobox. При...

Server 2003 Загружается до окна приветствия и вылетает ошибка: isass.exe - Системная ошибка - Windows Server
Ребята, помогите кто может... весь день бьюсь безрезультатно... с утра пришёл на работу а сервак не пингуется... загружается до...

Ошибка разбора XML/ Ошибка при вызове метода контекста (Прочитать) - 1С
1C 8.2 Документооборот КОРП 1.2 Текст ошибки {ОбщийМодуль.АвтозаполнениеШаблоновФайловКлиентСервер.Модуль(616)}: Ошибка при вызове...

.NET 4.x Ошибка перезаписи файла: В GDI+ возникла ошибка общего вида - Visual Basic .NET
Написал небольшой граф редактор в visual studio 2013. Когда сохраняю файл с таким же именем, вылазит окошко о подтверждении перезаписи....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.12.2012, 19:45
Ответ Создать тему
Опции темы

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