Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

проблемма с delete[]

9.0K
24 апреля 2007 года
RedNN
33 / / 15.08.2006
Есть два класса. Один юзает поля другого.

Код:
class C1
{
public:
    C1();
    ~C1();

    int* w1;
}

C1::C1()
{
    int max = 100;
    w1 = new int[max];
}

C1::~C1()
{
    delete[] w1;
}

class C2
{
public:
    C2();
    ~C2();

    C1 c1;

    ...
}


Все действия с w1 происходят в C2.
В конце вываливается ошибка памяти. Было выяснено, что ошибка в деструкторе С1.
Внимание вопрос: чо за фигня? :)
391
24 апреля 2007 года
Archie
562 / / 03.02.2005
Наверное, твои действия с w1, которые происходят в C2, делают что-то нехорошее... По тому коду, что ты привел, ничего сказать нельзя.
9.0K
24 апреля 2007 года
RedNN
33 / / 15.08.2006
я понимаю, что по этому коду мало чего понятно, но если я приведу всю прогу, от этого не станет легче (было уже такое).
Просто расскажите, если ктото сталкивался с подобными проблеммами и от чего это вообще бывает в теории.
4.5K
24 апреля 2007 года
e-XperT
127 / / 04.07.2006
Собери локальный тестовый проект если все работает значит этот код работает. У тебя скорее всего проблемы с памятью где то в другом месте просто вываливается в деструкторе.
240
25 апреля 2007 года
aks
2.5K / / 14.07.2006
RedNN, вот для того то и не надо делать w1 публичным указетелем, чтобы левый класс C2 мог с ним что то напортачить так, что в родном классе деструктор вывалиться. Кто вас так проектировать учил?
3
25 апреля 2007 года
Green
4.8K / / 20.01.2000
Цитата: RedNN
я понимаю, что по этому коду мало чего понятно, но если я приведу всю прогу, от этого не станет легче (было уже такое).
Просто расскажите, если ктото сталкивался с подобными проблеммами и от чего это вообще бывает в теории.


Такое в теории бывает много от чего, но если начать перечислять, от этого не станет легче (было уже такое).

9.0K
25 апреля 2007 года
RedNN
33 / / 15.08.2006
e-XperT - спасибо. Из всех "экспертов" чтото стоящее прозвучало только от тебя. Ошибка была совсем не в этом куске.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог