Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 17.02.2013
Сообщений: 142

Память не может быть прочитала

17.10.2013, 18:41. Показов 652. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, вот есть код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct Dyn{
    Syt select;
    Dyn* next;
};
 
............
 
void Coal::add(Syt data){
    Dyn *temp = new(Dyn);
    temp->select=data;
    for(int i=0;i<=count;i++){
        if(i==count)first->next=temp;
    }
    count++;
}
Если закомментировать if(i==count)first->next=temp; то ошибка пропадает
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.10.2013, 18:41
Ответы с готовыми решениями:

Память не может быть прочитана!
Проблема возникает при копировании одного массива в другой. Я вроди просмотрел и размерности вроди совпадают, но может быть я что то...

По каким причинам память не может быть выделена динамически?
Что это могут быть за причины?

Ошибка "Память не может быть read"
При вводе кол-ва учеников больше 2 ух выдаёт после ввода такую ошибку. Вот код: #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; ...

4
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
17.10.2013, 18:45
либо first указывает на невыделенную память либо next
без полного кода не понять
0
2 / 2 / 0
Регистрация: 17.02.2013
Сообщений: 142
17.10.2013, 18:53  [ТС]
CPP
Кликните здесь для просмотра всего текста
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
#include "struct.h"
 
Coal::Coal(){
    count=0;
}
Coal::Coal(Syt data)
{
    first=0;
    count=1;
    add(data);
}
void Coal::add(Syt data){
    Dyn *temp = new(Dyn);
    temp->select=data;
    for(int i=0;i<=count;i++){
        if(i==count)first->next=temp;
    }
    count++;
}
 
bool Coal::del(int i){
    Dyn *temp=first;
    if(i>=count) return false;
    for(int j=0;j<i;j++){
        if(j-count==i-1) temp->next=temp->next->next;
        if(j-count==i) delete(temp);
        temp=temp->next;
    }
}
 
int Coal::g_count(){
    return count;
}
 
Syt Coal::get(int i){
   /* Dyn *temp=first;
    for(int j=0;j<=i;j++){
        if(j==i) return temp->select;
        temp->select=temp->next->select;
    }*/
}


H
Кликните здесь для просмотра всего текста
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
#ifndef STRUCT_H
#define STRUCT_H
#include <QtGui>
struct Syt
{
    int group;
    int price;
    float pn;
    float vt;
    float sr;
    float ch;
    float pt;
    float itogo;
};
 
struct Dyn{
    Syt select;
    Dyn* next;
};
 
class Coal{
protected:
    int count;
    Dyn* first;
public:
    Coal();
    Coal(Syt);
 
    int g_count();
    void add(Syt);
    void sort();
    bool del(int);
    Syt get(int i);
};
#endif // STRUCT_H
0
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
17.10.2013, 18:56
Цитата Сообщение от wollk Посмотреть сообщение
first=0;
в конструкторе first = 0 а вы пытаетесь взять от него next в функции add
1
2 / 2 / 0
Регистрация: 17.02.2013
Сообщений: 142
17.10.2013, 19:06  [ТС]
Так я же пытаюсь ноль заменить на temp. Так нельзя ?

Заменил на first->next=0; - ошибка осталась

Как тогда правильно сделать ? Мне нужно добавлять новый элемент в конец, для этого мне нужно у предыдущего элемента поменять next с 0 (или любого другого значения) на ссылку на мою структуру.

Это типа мы делаем динамический массив структур

Добавлено через 2 минуты
Ой протупил ((((

C++
1
first = new Dyn;
это помогло
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.10.2013, 19:06
Помогаю со студенческими работами здесь

Память не может быть "written"
Помогите найти ошибку в следующем коде: На этапе вхождения в функцию &quot;vvod_vseh&quot;, а именно при вводе первой фамилии - выскакивает ошибка...

Память не может быть read
При входе в игру, секунд 5 чёрный экран и вылетает ошибка : Инструкция по адресу &quot;0x00997082&quot; обратилась к памяти по адресу...

Память не может быть read
после того как начала выскакивать ошибка память не может быть read или wrate обратитесь по адресу начал вылетать синий экран, комп...

Память не может быть read.
Вылетает такая ошибка, что делать подскажите? &lt;удалена ссылка на форум&gt; Делал то что указано тут, не помогло. Скрин с...

Память не может быть Read
Здравствуйте уважаемые. С недавнего времени появилась такая ерунда: нажимаешь правой кнопкой мышки на ярлыке на рабочем столе, рабочий стол...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru