Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
† Stratos †
Зарегистрирован: 27.08.2005 Сообщения: 19
|
Добавлено: Пн Авг 29 2005 11:47 Заголовок сообщения: Утечка памяти!!! |
|
|
Код: |
template <class T1> class ListGraph : public GraphATD<T1> {
struct node {
node* next;
node () {
}
};
struct list {
node* ph;
list () {
}
~list() {
delete [] ph;
}
};
public:
list** array;
ListGraph () {
array = new list*[sz];
for (int i=0; i<sz; i++)
array[i] = new list(vz);
}
~ListGraph() {
for (int i=0; i<sz; i++)
delete array[i];
delete [] array;
}
};
|
подскажите пожалуйста, что еще и как мне удалить из памяти, чтобы не было утечки ее родной самой.
чувствую, что загадка кроется рядом с array |
|
Вернуться к началу |
|
|
kolobok0
Зарегистрирован: 22.04.2005 Сообщения: 253 Откуда: Мсква
|
Добавлено: Пн Авг 29 2005 12:21 Заголовок сообщения: Re: Утечка памяти!!! |
|
|
† Stratos † писал(а): | Код: |
struct node {
node* next;
node () {
}
};
struct list {
node* ph;
list () {
}
~list() {
delete [] ph;
}
};
|
|
1) Рекомендация...
Код: |
struct node {
node* next;
node () : next(NULL)
{
}
};
struct list {
node* ph;
list () : ph(NULL)
{
}
~list()
{
if(ph != NULL)
{
delete ph;
}
}
};
|
2) Член ph класса list - вроде как она
а) не инициализируеться (нет new)
б) delete [] ph -> это как ?
с уважением
(круглый) _________________ (круглый) |
|
Вернуться к началу |
|
|
† Stratos †
Зарегистрирован: 27.08.2005 Сообщения: 19
|
Добавлено: Пн Авг 29 2005 15:10 Заголовок сообщения: |
|
|
про обнуление next и ph: я так и делаю, прорсто не стал этого писать
так же забыл указать такую структуру как ph = new node(bla blabla);
но тем не менее память убегает куда-то ( |
|
Вернуться к началу |
|
|
† Stratos †
Зарегистрирован: 27.08.2005 Сообщения: 19
|
Добавлено: Вт Авг 30 2005 11:02 Заголовок сообщения: |
|
|
все. спасибо большое за указание направления куда думать. =)
там еще next оставался в памяти.
в общем разобрался =)
[тема закрыта] |
|
Вернуться к началу |
|
|
|