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

Ошибка при использовании delete

30.01.2010, 19:21. Показов 1347. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
И снова здравствуйте!
Пишу раз третий.Я уже готов убицца ап сцену изза этого delete.Я не понимаю что не так делаю:
C++
1
2
3
4
5
6
7
8
9
10
11
class CMenu
{
    char* Title;
    char* End;
public:
    CMenu(char*, char* );
    ~CMenu();
 
    char* showTitle();
    char* showEnd();
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CMenu::CMenu(char* title, char* end)
{
    Title = title;
    title = 0;
 
    End = end;
    end = 0;
}
 
CMenu::~CMenu()
{
    delete[]Title;
        Title = 0;
    delete[]End;
        End = 0;
}
Пишет что я хочу написать что-то за пределами "кучи".типа application wrote to memory after the end of heap buffer.
Большая просьба помогите!!!!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.01.2010, 19:21
Ответы с готовыми решениями:

Ошибка при использовании delete[] C++
Здравствуйте. Я создал класс, где должен динамически выделить память, а потом в конце программы, с помощью деструктора, освободить...

Ошибка при использовании new[] / delete[]
Здравствуйте. Пишу учебную программу, моделирующую движение лифта (если кто учебник Дейтелов читал, тот поймет :) ). Для начала приведу...

Ошибка при использовании оператора delete в Visual Studio 2010
Изучаю указатели в C++. Есть следующий код: #include <iostream> #include <locale> using namespace std; int main() { ...

2
Эксперт С++
 Аватар для fasked
5045 / 2624 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 5
30.01.2010, 19:26
Цитата Сообщение от Doxtar.Voodoo Посмотреть сообщение
C++
1
2
3
4
5
6
7
CMenu::~CMenu()
{
 delete[]Title;
 Title = 0;
 delete[]End;
 End = 0;
}
delete[] освобождает память для массивов, delete освобождает память для обычных переменных.
К тому же ты после delete пытаешься приравнять переменную к нулю.

C++
1
2
3
4
5
6
7
CMenu::~CMenu()
{
 Title = 0;
 delete Title;
 End = 0;
 delete End;
}
0
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
30.01.2010, 19:37
Doxtar.Voodoo,

А теперь - правильный ответ (:

ты пытаешься освободить не принадлежащую тебе память.
потому что свой класс можно создать и так:

CMenu zzz("ы-ы-ы-ы", "у-у-у-у");

и тогда всё, приплыли.

1. кривой способ:
использовать strdup и free
Title = strdup(titile);
...
free(Title);

судя по вопросам и представленному коду, способ для тебя не рекомендован.

2. Использовать C++ и std::string
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.01.2010, 19:37
Помогаю со студенческими работами здесь

Утечки памяти при использовании new/delete для двумерных массивов
Добрый день. Суть в том, что есть несколько функций, получающих на вход и возвращающих двумерные массивы. Реализация передачи массивов...

Ошибка при delete[]
Не понимаю, почему при delete Y; выдает ошибку. Без этой строки код работает на ура. Надеюсь на вашу помощь. Что делает программа: ...

Ошибка при вызове delete
Вот код // ConsoleApplication1.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include...

Ошибка при освобождении памяти (delete)
Здравствуйте! Есть массив lines, созданный вот так : int *line = new int ; Потом, пытаюсь его удалить и пересоздать : delete...

Ошибка при работе delete в деструкторе
enum place { first = 1, second }; class Passanger { public: Passanger(); void Call(); void PushButton(); int...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru