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

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

Войти
Регистрация
Восстановить пароль
 
iRomul
158 / 99 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
#1

Повреждение кучи - C++

11.01.2013, 22:39. Просмотров 735. Ответов 2
Метки нет (Все метки)

Приветствую! Сделал, казалось бы, простую программу, но у меня возникает ошибка на самом ровном месте:
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
void print(node** graph, int V)
{
 
    cout.setf(ios::left);
 
    for (cnt i = 0; i < V; i++)
    {
        for (cnt j = 0; j < V; j++)
        {
            if (!graph[i][j].exist)
                cout << setw(5) << "\\\\ ";
            else
                cout << setw(5) << graph[i][j].num << " "; [COLOR="Red"]//Вот здесь возникает ошибка[/COLOR]
        }
        cout << endl;
    }
}
 
// driver program to test above function
int main()
{
 
    ifstream file_graph("graph.txt");
 
    int size;
    file_graph >> size;
 
    string auxiliary;
 
    node ** graph;
    graph = new node* [size];
 
    for(cnt i = 0; i < size; i++)
        graph[i] = new node [i];
 
    for(cnt i = 0; i < size; i++) {
        for(cnt j = 0; j < size; j++) {
 
            file_graph >> auxiliary;
 
            if(auxiliary == "INF")
                graph[i][j].exist = false;
            else {
                graph[i][j].num = atoi(auxiliary.c_str());
                graph[i][j].exist = true;
            }
 
        }
 
    }
 
    print(graph, size);
 
    //floydWarshell(graph);
 
    for(cnt i = 0; i < size; i++)
        delete [] graph[i]; 
 
    system("pause");
 
    return 0;
 
}
На указанном месте при выполнении отладчик VS'10 выдаёт ошибку вида:
HEAP[Floyd-Warsall.exe]: Invalid address specified to RtlValidateHeap( 00190000, 001965C8 )
ОС Windows инициировала точку останова в Floyd-Warsall.exe.

Это может быть вызвано повреждением кучи и указывает на ошибку в Floyd-Warsall.exe или в одной из загруженных им DLL.

Возможной причиной так же может быть нажатие пользователем клавиши F12, когда фокус принадлежит Floyd-Warsall.exe

Выведенное на экран окно содержит дополнительные данные для диагностики ошибки
При чём отмечу, что если нажать "продолжить" и пропустить еще несколько ошибок, то программа выполняется.
Собственно вот. В чём я накосячил? Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2013, 22:39     Повреждение кучи
Посмотрите здесь:

Повреждение кучи - C++
#ifndef _TASK2_H_ #define _TASK2_H_ #include &lt;iostream&gt; using namespace std; namespace TeamResult { static int...

Повреждение кучи - C++
После выполнения программы выдаёт ошибку Debug Assertion Failed Помогите найти и исправить место из-за которого ошибка, я так понимаю она...

Повреждение кучи - C++
Есть код #include &lt;iostream&gt; using namespace std; struct STUDENT { char NAME; int GROUP; int SES; };

Ошибка о повреждение кучи - C++
Вот переделал программу со строками, с использованием классов. Почему-то опять возникает ошибка о повреждение кучи. Не могу понять где...

Странное повреждение кучи - C++
Доброго времени суток, форумчане! Есть проект, в нем реализована функцию дублирования всех элементов статического массива с...

МНК, повреждение кучи - C++
Аппроксимация методом наименьших квадратов.. Если не использовать динамическую память, все работает замечательно.. Если описывать...

Точка останова(повреждение кучи) - C++
Прошу помочь, смотрел по форуму похожие темы - ответа не нашел void Base::Read() { char* name=new char;//переменная для имени ...

C++ delete[] точка останова/повреждение кучи - C++
Добрый день. Подскажите, пожалуйста. Вот код функции: void interpol(point* a, int n, int k, point* y, int inter) //a-original ...

Повреждение кучи при создании нейросети с количеством слоев больше 51 - C++
Добрый день. Я знаю, таких тем уже много, я их прочитала, но ни в одной не нашла решения моей проблемы. Проблема. Есть нейронная сеть...

Ошибка при "сборе мусора" . Повреждение кучи - C++
Привет ребята! Я совсем скверно знаю плюсы и не смотря на несколько лет довольно успешной работы в ИТ так и не заставил себя заниматься...

Получать различные начала кучи при создании кучи внутри цикла - C++
Можно ли как-то такое провернуть, чтобы на каждой итерации цикла получались различные адреса (выбираются ОС) на начало кучи (периодические...

Повреждение автомобиля: реализация с помощью ООП - C++
как лучше реализовать идею... к примеру движение автомобиля и столкновение с препятствием и выводом в консоли (Ваш авто поврежден) ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
John Prick
774 / 707 / 129
Регистрация: 27.07.2012
Сообщений: 2,026
Завершенные тесты: 3
12.01.2013, 00:56     Повреждение кучи #2
Код не полностью. Что такое node и cnt, например? Добавь весь код программы в тему.
iRomul
158 / 99 / 11
Регистрация: 17.10.2012
Сообщений: 480
Завершенные тесты: 1
12.01.2013, 01:13  [ТС]     Повреждение кучи #3
Цитата Сообщение от iRomul Посмотреть сообщение
for(cnt i = 0; i < size; i++)
* * * * graph[i] = new node [i];
Ошибка заключалась в этом
Ответ Создать тему
Опции темы

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