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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работает на одинаковых числах, но не на разных. http://www.cyberforum.ru/cpp-beginners/thread179796.html
Не понимаю в чем причина. Программа работает, если первые параметры задаются одинаковыми (200 и 200, 300 и 300 и т.п) На разных параметрах не работает. Подскажите пожалуйста в чем ошибка. ...
C++ цикл while ПОМОГИТЕ РЕАЛИЗОВАТЬ ЦИКЛ WHILE для данной функции y=2*x*x-5*x-8 в диапазоне от -4 до 4. Шаг изменения аргумента 0,5. подскажите (в диапазоне от -4 до 4)--это же значение x изменяется??????... http://www.cyberforum.ru/cpp-beginners/thread179793.html
абстрактные типы данных "СТЕК" и "ОЧЕРЕДЬ" C++
тема:абстрактные типы данных "СТЕК" и "ОЧЕРЕДЬ" Вопросы: 1) разработать программу-клиента,использующую АТД "СТЕК" реализованный на базе массива и на базе связного списка. 2). разработать...
C++ Программы для начинающих
Задача №1 Товар стоит a рублей b копеек. За него заплатили c рублей d копеек. Сколько сдачи требуется получить? Формат ввода: Вводятся 4 числа: a, b, c, d. Все числа целые неотрицательные и...
C++ Запись в файл с экрана http://www.cyberforum.ru/cpp-beginners/thread179783.html
... str - строка, которую читаю из файла char arr={....} for(unsigned n=0; n<strlen(str); n++) for (int i=0; i<6;i++) { for (int j=0; j<31;j++) { if (arr==str) //...
C++ Не выходит корректно работать с fstream смысл программы: она открывает файл, как только видит значок комментариев с++ /* должна удалять весь комментарий. Проблема в том, что как только прога заметила этот значок, она сразу же должна... подробнее

Показать сообщение отдельно
Reiji Cross
26 / 26 / 1
Регистрация: 14.05.2010
Сообщений: 57

Организация контейнера для структур - 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru