Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

22.10.2010, 01:12. Просмотров 369. Ответов 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), но проблема оставалась.

Буду рад любой помощи!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2010, 01:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Организация контейнера для структур (C++):

Организация динамических структур..ПОМОГИТЕ...вообще с ними не дружу на С++=( - C++
Скласти програму, у який організувати динамічну структуру та виконати її обробку згідно зі своїм варіантом. Використати підпрограми.(с...

итератор для контейнера - C++
Собственно, интересует такой вопрос: "Как создать собственный класс-итератор для контейнера?". Контейнер построен по типу "очередь"....

Сортировка для контейнера с указателями - C++
Понадобилось сделать контейнер указателей, но встала проблема сортировки и типа контейнера : #include <set> using std::set; struct...

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

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

Свой компаратор для контейнера set - C++
Здравствуйте! Код следующий (комменты): #include <stdlib.h> #include <stdio.h> #include <set> using namespace std; //...

1
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
22.10.2010, 03:20 #2
Reiji Cross, А что такое count и где оно объявлено, если не секрет?
Хотя судя по всему проблема не в этом.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.10.2010, 03:20
Привет! Вот еще темы с ответами:

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

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

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

Шаблонная функция вывода для любого stl контейнера - C++
Шаблонная функция вывода для любого STL-контейнера, где в качестве параметра должен быть тип контейнера. Собственно реализация довольна...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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