![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
UnixBeginner |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 10.11.2005 Где: Россия, г. Калини нград Репутация: нет Всего: нет |
у меня нет опыта написания шаблонов и перегрузге операторов, но вот понадобился такой класс - аналог miltiset, только без сортировки:
как решить ошибку? Что сделать? |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
UnixBeginner
Попробуй
|
|||
|
||||
UnixBeginner |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 10.11.2005 Где: Россия, г. Калини нград Репутация: нет Всего: нет |
Исправил, теперь вроде ОК, но когда я создаю переменную этого типа:
то компановщик выдает ошибку:
Что это может быть? |
||||
|
|||||
MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
отсутствует тело конструктора и деструктора, надо написать
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
UnixBeginner |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 10.11.2005 Где: Россия, г. Калини нград Репутация: нет Всего: нет |
Вот:
|
|||
|
||||
Empirik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 28.10.2005 Где: Россия, Пермь Репутация: нет Всего: 1 |
Дело в том, что объевление и тело шаблонного метода должны находиться в одном файле, иначе ни как. Это связанно с раздельной компиляцией. Перенеси все в один файл и будет тебе счастье. Или инклудом включай и h файл и cpp файл. Компилятору, что бы инстанцировать шаблонный класс, нужно мразу же иметь и интерфейс класса и тела его методов.
--------------------
Постоянно удивляюсь человеческой фантазии напридумывают гаджетов |
|||
|
||||
UnixBeginner |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 10.11.2005 Где: Россия, г. Калини нград Репутация: нет Всего: нет |
Отлично, все заработало!
Большое спасибо! |
|||
|
||||
UnixBeginner |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 10.11.2005 Где: Россия, г. Калини нград Репутация: нет Всего: нет |
Еще вопрос:
Хочу чтобы в данном классе было подобие итератора в STL контейнеров, ну разве только намного проще ![]() Как это можно сделать. Описал класс iterator в классе list_array (см. выше). Теперь обращаюсь к нему:
|
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Какой-то странный у тебя контейнер получается... Два параллельных списка? Ну зачем такой изврат, не пойму...
Во первых, лишний расход памяти: каждый узел списка добавляет еще по 2 указателя - зачем этот расход удваивать? Итератор двойной... жуть ![]() Опять же, приличный итератор должен разыменовываться в тип элемента, а кто тут у нас элемент? Прямо-таки просится std::pair... Ну и чем тебя std::list<std::pair<T1,T2> > не устраивает? Если очень хочется свой тип иметь, то можно так:
И все... -------------------- ... |
|||
|
||||
UnixBeginner |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 10.11.2005 Где: Россия, г. Калини нград Репутация: нет Всего: нет |
а ну да, просто этот пункт в книжке я видать пропустил
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |