Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
8 / 8 / 3
Регистрация: 01.03.2013
Сообщений: 85
1

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

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

Author24 — интернет-сервис помощи студентам
Всем привет.

Есть приватная переменная, указатель на строку
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2013, 11:10
Ответы с готовыми решениями:

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

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

Ошибка при удалении динамического массива
Непонятная мне ошибка при удалении массива #include <iostream> #include <conio.h> using...

Ошибка SIGTRAP при удалении динамического 2D массива
Нужно было создать двухмерный динамический массив в форме "пирамиды", скажем так, заполнить его...

1
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
13.03.2013, 11:18 2
Указатель указывает на константный строковый литерал. Вы же не выделяете памяти динамически, значит и её освобождение не Ваша забота.
1
13.03.2013, 11:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2013, 11:18
Помогаю со студенческими работами здесь

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

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

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

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


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

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