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

Организация контейнера для структур - C++

Восстановить пароль Регистрация
 
Reiji Cross
 Аватар для Reiji Cross
26 / 26 / 1
Регистрация: 14.05.2010
Сообщений: 57
22.10.2010, 01:12     Организация контейнера для структур #1
Доброго времени суток!

Решая задачу по реализации контейнера столкнулся с проблемой выделения памяти для новых элементов.

Первый элемент добавляется, а с последующими возникает проблема

Вот структура, которая представляет собой элементы контейнера.
C++
1
2
3
4
typedef struct {
        char *name;
        char *value;
    } elem;
Вот реализация методов добавления первого элемента и последующих соответственно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    cont::cont(char *val, char *nam){
        tail = new elem;
        tail[0].value = new char[1024];
        tail[0].name = new char[1024];
        strcpy(tail[0].value, val);
        strcpy(tail[0].name, nam);
        head = &tail[0];
        count = 1;
    }
 
void cont::push_back(char *val, char *nam){
        elem *temp = new elem[count + 1];
        memcpy(temp, tail, count * sizeof(elem));
        tail[count].value = new char[1024];
        tail[count].name = new char[1024];
        strcpy(tail[count].value, val);
        strcpy(tail[count].name, nam);
        head = &temp[count];
        tail = temp;
        count++;
    }
А это ошибка которая возникает: Additional information: Object reference not set to an instance of an object.
Это происходит в строке elem *temp = new elem[count + 1];

Пробовал выделять память по разному (malloc, realloc), но проблема оставалась.

Буду рад любой помощи!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2010, 01:12     Организация контейнера для структур
Посмотрите здесь:

C++ Организация динамических структур..ПОМОГИТЕ...вообще с ними не дружу на С++=(
Итератор для собственного контейнера C++
C++ Сортировка для контейнера с указателями
Использовать в качестве контейнера для хранения данных динамические массивы C++
итератор для контейнера C++
C++ Шаблонная функция вывода для любого stl контейнера
Свой компаратор для контейнера set C++
C++ Использование контейнера set для создания словаря

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
22.10.2010, 03:20     Организация контейнера для структур #2
Reiji Cross, А что такое count и где оно объявлено, если не секрет?
Хотя судя по всему проблема не в этом.
Yandex
Объявления
22.10.2010, 03:20     Организация контейнера для структур
Ответ Создать тему
Опции темы

Текущее время: 00:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru