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

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

Войти
Регистрация
Восстановить пароль
 
igorbelykh
8 / 8 / 2
Регистрация: 01.03.2013
Сообщений: 85
#1

Возникает ошибка при удалении динамического массива символов в деструкторе класса - C++

13.03.2013, 11:10. Просмотров 947. Ответов 1
Метки нет (Все метки)

Всем привет.

Есть приватная переменная, указатель на строку
C++
1
wchar_t *pUAgent;
В конструкторе я ее инициализирую:
C++
1
pUAgent = L"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22";
Эта переменная не меняется ни в одном методе класса. Когда дело доходит до деструктора, переменная все еще содержит строку, которой была инициализирована в конструкторе. Пытаюсь ее уничтожить:
C++
1
if(pUAgent) delete [] pUAgent;
И тут возникает следующее: Text.exe вызвал срабатывание точки останова. Жму "прервать". Мне открывает файл free.c и ставит курсор на 51 строку
C++
1
2
3
4
5
        if (retval == 0)
        {
            errno = _get_errno_from_oserr(GetLastError());
        }
}
Использую MS Visual Studio 2012

Что это может означать? Куда рыть? Что еще показать, чтобы было более понятно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2013, 11:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Возникает ошибка при удалении динамического массива символов в деструкторе класса (C++):

Ошибка при удалении динамического массива - C++
Непонятная мне ошибка при удалении массива #include <iostream> #include <conio.h> using std::cout; using std::cin; using...

Ошибка при удалении динамического массива - C++
Добрый вечер! Ругается на HEAP CORRUPTION DETECTED в строке с delete vertex; В чём может быть дело? void read_stl (char*...

Ошибка при удалении динамического массива - C++
Доброго времени суток! ПРоблема заключается в том, что при попытке очистить память из под динамического массива вылетает ошибка "access...

Об удалении указателя в деструкторе класса - C++
Изучаю C++, хочу уточнить вопрос об указателях... Например, есть такой код: class Obj { public: Obj() {}; ~Obj()...

Вылет программы при удалении динамического массива - C++
Писал программу с использованием динамического массива, все компилилось нормально, но в какой-то момент программа просто начала вылетать,...

Нужно ли при удалении динамического массива присваивать NULL? - C++
Вот создал я динамический массив N на M: int **mas; mas=new int*; for(i=0;i<n;i++) mas=new int; А вот его удаление: ...

1
Croessmah
Эксперт CЭксперт С++
13514 / 7673 / 867
Регистрация: 27.09.2012
Сообщений: 18,896
Записей в блоге: 3
Завершенные тесты: 1
13.03.2013, 11:18 #2
Указатель указывает на константный строковый литерал. Вы же не выделяете памяти динамически, значит и её освобождение не Ваша забота.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2013, 11:18
Привет! Вот еще темы с ответами:

Heap corruption detected при удалении динамического массива - C++
mystring.cpp - здесь происходит ошибка в функции MyString::operator на строке delete s. В чем тут может быть дело? #include "mystring.h" ...

Ошибка с0000005 при удалении класса-матрицы - C++
о/ Решил написать класс-шаблон матрицы: template <typename T> class matrix { public: matrix(int d0, int d1) { matrix...

Двумерный массив символов: при высвобождении памяти возникает ошибка - C++
Подскажите, что не так делаю. При высвобождении памяти выбивает ошибку.Как правильно сделать? char **str = new char*; for(int...

Ошибка при удалении массива - C++
Проблема в том, что при попытке добавить строки удаления массивов программа вылетает, если же их нету, то всё стабильно. #include...


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

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

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