0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 25
1

Ошибка этапа исполнения

24.11.2016, 00:14. Показов 566. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! Хочу разобраться с ошибкой, буду благодарна за помощь)
Вот код функции:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 void addCard ( sDeck* oldDeck, sCard newCard )
    {
        unsigned int newCount = oldDeck->count + 1;
        sCard* newCards = new sCard[oldDeck->count];
 
        for (int i = 0; i <= oldDeck->count; i++)
            {
 
                newCards[i] = oldDeck->cards[i];
                
            }
 
            newCards[newCount - 1] = newCard;
            if (oldDeck->cards)
            {
                delete[]oldDeck->cards; //исключение возникает  тут
 
            }
 
            oldDeck->cards = newCards;
            oldDeck->count = newCount;
    }
Текст ошибки:
Миниатюры
Ошибка этапа исполнения  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2016, 00:14
Ответы с готовыми решениями:

Ошибка этапа исполнения
Всем доброго времени суток! Пытаюсь решить вот эту задачу: В ряд выложены N кучек камней, в i-ой...

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

Ошибка этапа исполнения в классе Матрица
Всем привет снова!) Теперь я написала код по задаче, которая гласит: &quot;у вас есть два класса -один...

Ошибка этапа исполнения: double free or corruption (fasttop):
Доброе времени суток подскажите пожалуйста в чем может быть следующая проблема. Код который...

3
Комп_Оратор)
Эксперт по математике/физике
8949 / 4703 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
24.11.2016, 00:42 2
mary_19, посмотрите выделена ли память под этот указатель.
1
59 / 54 / 34
Регистрация: 18.04.2014
Сообщений: 122
24.11.2016, 01:43 3
mary_19,
C++
1
2
3
        sCard* newCards = new sCard[oldDeck->count];
 
        for (int i = 0; i <= oldDeck->count; i++)
Либо выделяйте память для oldDeck->count + 1, либо используйте строгое неравенство в цикле for.
1
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 25
24.11.2016, 11:11  [ТС] 4
Cпасибо за помощь! Мathist я исправила, как вы подсказали, только поменяла строку так:

C++
1
 sCard* newCards = new sCard[newCount ];
Да, я не выделила память!
0
24.11.2016, 11:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2016, 11:11
Помогаю со студенческими работами здесь

Ошибка этапа исполнения при преобразовании символов в верхний регистр
Доброго времени суток, уважаемые пользователи CyberForum.ru! По какой то причине падает программа,...

Не могу найти ошибку этапа исполнения
Здравствуйте, написал программу, не могу понять, почему при отладке VB не хочет ее...

Работа с датой и временем put_time Ошибка этапа выполнения
Решил не делать велосипедов. С не кустарными способами работы с датой и временем не знаком. clang...

Ошибка исполнения
При вводе &quot;ARozA upalaNalapu AzoRA&quot; выводит &quot;Yes&quot; без ошибки, а при вводе &quot;A RozA upala Na lapu...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru