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

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

Войти
Регистрация
Восстановить пароль
 
saqef
24 / 27 / 9
Регистрация: 16.04.2017
Сообщений: 435
Записей в блоге: 4
Завершенные тесты: 1
#1

C++ delete[] точка останова/повреждение кучи - C++

16.04.2017, 03:20. Просмотров 267. Ответов 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
void interpol(point* a, int n, int k, point* y, int inter)  //a-original  y-required  n-orig.size k-inter.size
        {
            int border;
            double temp, s, w;
            double* z = new double[inter];
            for (int p = 0; p < k; p++)
                {
                    border = 0;
                    while (a[border].x < y[p].x)
                        border++;
                    border -= inter / 2;
                    if (border < 0)
                        border = 0;
                    if (border + inter >= n)
                        border = n - inter;
                    temp = 1, s = 0, w = 1;
                    for (int i = border; i < inter + border; i++)
                    {
                        for (int j = border; j < inter + border; j++)
                            if (i != j)
                                temp *= (a[i].x - a[j].x);
                        z[i] = a[i].fx / temp;
                    }
                    for (int i = border; i < inter + border; i++)
                    {
                        temp = y[p].x - a[i].x;
                        if(temp!=0)
                        s += z[i] / temp;
                        w *= temp;
                    }
                    y[p].fx = w*s;
                }
            try
            {
                delete[] z;
            }
            catch (Exception^ e)
            {
                MessageBox::Show(Convert::ToString(e));
            }
        }
Проблема с delete[] z.
Если поставить breakpoint и пошагово отлаживать, то при выполнении delete сработает точка останова.
Если не ставить, то произойдет повреждение кучи.
Если вообще закомментировать, то всё работает- только утечка памяти.
Вычисляется всё правильно, и с входными параметрами всё в норме.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.04.2017, 03:20
Я подобрал для вас темы с готовыми решениями и ответами на вопрос C++ delete[] точка останова/повреждение кучи (C++):

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

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

Повреждение кучи - C++
Приветствую! Сделал, казалось бы, простую программу, но у меня возникает ошибка на самом ровном месте: void print(node** graph, int V) ...

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

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

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

2
igorrr37
1859 / 1477 / 231
Регистрация: 21.12.2010
Сообщений: 2,462
Записей в блоге: 11
16.04.2017, 05:06 #2
Цитата Сообщение от saqef Посмотреть сообщение
double* z = new double[inter];
for (int i = border; i < inter + border; i++)
{
z[i]...
посмотри чтобы i не превышала inter
1
saqef
24 / 27 / 9
Регистрация: 16.04.2017
Сообщений: 435
Записей в блоге: 4
Завершенные тесты: 1
17.04.2017, 00:03  [ТС] #3
Просто не заметил выход за границу.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2017, 00:03
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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