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

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

Войти
Регистрация
Восстановить пароль
 
Reiji Cross
26 / 26 / 1
Регистрация: 14.05.2010
Сообщений: 57
#1

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

22.10.2010, 01:12. Просмотров 361. Ответов 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++
Понадобилось сделать контейнер указателей, но встала проблема сортировки и типа контейнера : #include <set> using std::set; struct...

Перегрузка операторов для контейнера - C++
Доброго времени суток. Просматривая STL, в ветке вектора наткнулся на такую интересную запись: vector<int> v1 = {45,85,68}; ...

Определение хэш-функции для контейнера - C++
На просторах stackoverflow нашел следующую реализацию для std::аrrаy: namespace std { template<typename T, size_t N> struct...

Выбор контейнера для хранения структуры - C++
Доброе время суток! Ребят нужна помочишь при выборе контейнера для хранения структуры, точнее трех структур! Первая, (если кому...

Использование контейнера set для создания словаря - C++
Всем привет. Прошу помощи с программой. Само задание: Написать программу «Англо - русский и русско - английский словарь». «База данных»...

Использовать в качестве контейнера для хранения данных динамические массивы - C++
Задача состоит в том, чтобы разработать программу, используя в качестве контейнера для хранения данных динамические массивы. В прошлой...

Собственная реализация контейнера для хранения значений произвольного типа - C++
Дали следующее задание. Не совсем понимаю с чего начинать и как дальше быть. Сказали, что нужно через шаблоны сделать. Если у кого-нибудь...

Swap для элементов контейнера указателей на экземпляры абстрактного класса - C++
Добрый вечер. Не могу осилить проблему: Описан абстрактный класс. Описаны наследники этого класса уже без абстрактности. Описан...


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

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

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