Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
amastudent
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 50
1

Ошибка компиляции: invalid null pointer

15.02.2018, 21:34. Просмотров 308. Ответов 5
Метки нет (Все метки)

Не могу понять, в чем проблема..
Кто знает?
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
#include "stdafx.h"
#include <iostream>
#include "list.h"
 
using namespace std;
 
 
void list::addData(int key, char *data) {
    ListNode *temp = new ListNode;
    ListNode *last = new ListNode;
    temp->key = key;
    temp->data = data;
    
    last = first;
    while (last->next != NULL)
    {
        last = last->next;
    }
    
    temp->data = new char[strlen(data) + 1];
    strcpy(temp->data, data);
    temp->key = key;
    temp->prev = last;
    last->next = temp;
    temp->next = NULL;
 
}
void list::removeData(int key) {
    ListNode *elem = new ListNode;
    ListNode *temp = new ListNode;
    elem = first;
    findNode(key);
 
    elem->prev->next = elem->next;
    elem->next->prev = elem->prev;
 
    delete (elem);
    
}
 
char* list::findData(int key) {
    ListNode* tmp = new ListNode;
 
    tmp = findNode(key);
 
    return tmp->data;
}
 
 
void list::show() {
    ListNode *tmp = new ListNode;
    tmp = first->next;
    while (tmp !=NULL)
    {
        cout << (tmp->data) << " ";
        tmp = tmp->next;
    }
 
}
 
list::ListNode* list::findNode(int key){
    ListNode *tmp = new ListNode;
 
    tmp = first;
 
    while (key != tmp->key || tmp->next != NULL) {
        tmp = tmp->next;
 
    }
    if (tmp->next == NULL) {
        cout << "Такого элемента не существует!" << endl;
        return NULL;
    }
    return tmp;
}
 
void list::del() {
    while (first->next != NULL) {
        delete[] first->data;
        delete first->prev;
        delete first->next;
    }
    
 
}
0
Миниатюры
Ошибка компиляции: invalid null pointer  
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2018, 21:34
Ответы с готовыми решениями:

Из-за чего может возникать следующая ошибка: "Invalid null pointer"?
NEBTELA* fggff; //указатель на объект базового класса fggff = new Zvezda; //переопределение в...

Invalid null pointer
Так она работает: #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;list&gt; #include &lt;string&gt; ...

string, invalid null pointer
#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; #define SIZE...

Ошибка Null pointer assignment
Помогите, пожалуйста, кто знает. BC++ 3.11 выдает 'Null pointer assignment'. Я, в принципе, в...

Ошибка munmap_chunk(): invalid pointer: 0x0000000000401284
#include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; class Array{ int n; int *p;...

5
nd2
3100 / 2594 / 1134
Регистрация: 29.01.2016
Сообщений: 8,690
15.02.2018, 21:40 2
Цитата Сообщение от amastudent Посмотреть сообщение
Не могу понять, в чем проблема..
Отладчиком умеешь пользоваться?
1
Sergivus
2 / 2 / 0
Регистрация: 17.06.2017
Сообщений: 10
15.02.2018, 21:44 3
А вы вообще слышали про стандарт 11 и nullptr?
0
amastudent
0 / 0 / 0
Регистрация: 10.05.2017
Сообщений: 50
15.02.2018, 21:46  [ТС] 4
нет, но сейчас попробую) спасибо за совет)

Добавлено через 29 секунд
Sergivus, не доводилось.
0
nd2
3100 / 2594 / 1134
Регистрация: 29.01.2016
Сообщений: 8,690
15.02.2018, 21:47 5
Цитата Сообщение от Sergivus Посмотреть сообщение
А вы вообще слышали про стандарт 11 и nullptr?
Это здесь при чём?

Добавлено через 1 минуту
Цитата Сообщение от amastudent Посмотреть сообщение
нет, но сейчас попробую) спасибо за совет)
Найди точное место, в твоём коде, где вылет происходит. Тогда может и вопрос отпадёт.
1
Croessmah
++Ͻ
15953 / 9063 / 1746
Регистрация: 27.09.2012
Сообщений: 22,302
Записей в блоге: 2
Завершенные тесты: 2
15.02.2018, 21:50 6
Повангую:
C++
1
2
3
4
5
6
7
8
9
10
    ListNode *temp = new ListNode;
    ListNode *last = new ListNode;//Выделили память. Зачем?
    temp->key = key;
    temp->data = data;
    
    last = first;//Переписали указатель. Утечка. И такое по всему коду.
    while (last->next != NULL)//А если first был nullptr? Скорее всего при пустом списке так и будет.
    {
        last = last->next;
    }
1
15.02.2018, 21:50
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2018, 21:50

Null pointer
void C_StringBit :: setStrBit() { char* ptr1; cout &lt;&lt; &quot;Введите строку&quot;&lt;&lt; endl; cin &gt;&gt;...

invalid pointer operation
for (global_index1 = 0; global_index1 &lt; t-&gt;dir_list-&gt;Count; global_index1++) { ...

Invalid pointer operation
Добрый вечер. Возникает такая ошибка при выключении программы: invalid pointer operation. ...


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

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

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