|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.07.2012, 16:22 | #1 |
Пользователь
Регистрация: 13.05.2012
Сообщений: 30
|
Хеш таблица C++
Здравствуйте! Сделал я наконец эту хеш таблицу.
Метод открытой адресации. элемент массив - пара ключ значение оба string. Три функции добавление пары, удаление и получение значения. Но при попытке вывести на экран полученное значения функции нахождения значения мне выдаёт предупреждение (cannot pass objects of non-POD type 'struct std::string' throught '...') и при запуcке программы программа вылетает. Код GetKey (вообще-то значения, то лень переименовывать всё) Код:
Код:
Последний раз редактировалось Jirogirg; 02.07.2012 в 16:25. |
02.07.2012, 18:08 | #2 |
Форумчанин
Регистрация: 22.05.2012
Сообщений: 352
|
Попробуй std::cout
|
02.07.2012, 18:24 | #3 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
printf должен в данном случае принимать char*, так что в данном случае вы можете написать
Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
14.07.2012, 17:29 | #4 |
Пользователь
Регистрация: 13.05.2012
Сообщений: 30
|
Ребят, создал конструктор для хеш.
Код:
none=bool; Выдаёт ошибку ambiguous overload for "operator=". Последний раз редактировалось Jirogirg; 14.07.2012 в 17:52. |
14.07.2012, 21:19 | #5 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
1.
Код:
2. Такое вообще не должно работать, поскольку по крайней мере C++ 03 не поддерживает статические массивы с неизвестным на момент компиляции размером. Вам нужно выделять память динамически. 3. По поводу вашего вопроса - попробуйте присвоить не 1, а true. 4. Перечитайте все-таки еще разок-другой хорошую книжку по плюсам...
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
15.07.2012, 18:19 | #6 |
Пользователь
Регистрация: 13.05.2012
Сообщений: 30
|
Хм... А если создавать конструктор без параметра, полю none не присвоится никакое значение ведь так? А далее я сравниваю с этим параметром в программе. Поэтому я и решил создать такой конструктор.
Вот целая программа, но мне кажется полю none при создании объекта класса HASH надо задать какое-то значение. Код:
Последний раз редактировалось Jirogirg; 15.07.2012 в 18:37. |
15.07.2012, 18:40 | #7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
есть неопределенное значение. вообще лучше явно инициализировать все. а так же не забывать что списки инициализации предпочтительнее. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
15.07.2012, 19:25 | #8 |
Пользователь
Регистрация: 13.05.2012
Сообщений: 30
|
А как мне через список инициализации инициализировать значения в массиве? То есть там же должен быть какой-то цикл, чтобы каждый элемент массива был инициализирован.
Мне нужно написать список инициализации в самой структуре, да? |
15.07.2012, 19:56 | #9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
про список это я не туда глянул, вообще полю none, надо присваивать значение которое оно имеет в момент инициализации.(true или false, в зависимости от смысла значения)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
15.07.2012, 20:24 | #10 |
Пользователь
Регистрация: 13.05.2012
Сообщений: 30
|
Прошу прощения, а в какой момент мне нужно давать значение пункту none? В самом конструкторе наверное рано. Тогда в классе. А как можно задать каждому из 50-ти элементов полю none значение true?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
хеш-таблица с разрешением коллизий связыванием | Ovis | Помощь студентам | 0 | 18.05.2012 00:36 |
Хеш-таблица на основе стеков. Dephi | Satevg | Помощь студентам | 1 | 17.04.2011 23:48 |
хеш-таблица | CHUCKe | Помощь студентам | 2 | 17.11.2010 23:30 |
ХЕШ-таблица | iceman2112 | Общие вопросы C/C++ | 0 | 09.05.2010 13:07 |
Хеш-таблица. Непонятно с решением коллизии методом перемешивания внутренними цепочками | Познающий | Помощь студентам | 9 | 05.12.2009 02:48 |