![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Rickert |
|
||||||||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 0 Всего: 52 |
Есть класс aPipeLine(не шаблонный!), в котором описан шаблонный метод:
И имеющий внутр. переменную:
есть глоб. переменная типа aPipeline pipe; В какой-то момент в программе я вызываю:
При линковке выдаёт:
Почему? -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
||||||||
|
|||||||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Может быть так: pipe.apAddNewItem<aWindow>(pipe.windows); ? Кстати, явно специализировать здесь вообще не нужно - можно просто pipe.apAddNewItem(pipe.windows); . C++-FAQ-Lite пп. [35.12] и [35.13]. В двух словах: реализация шаблона должна находится в том же модуле, где используется или в хэдере, если используется в нескольких модулях. Это сообщение отредактировал(а) archimed7592 - 6.10.2007, 08:09 -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Rickert |
|
||||
|
Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 0 Всего: 52 |
Ну да - да. Посмотрел ссылки и там действительно решается этот вопрос. Как я понял, нужно просто перечислять методы реализациия после описания шаблонного метода - так? То бишь:
Так? Тогда непонятно как это сделать? Вышеописанная реализация находится в cpp файле, а описание класса в заголовочном. Затем подключается заголовчный файл, заводится глобальная переменная и вызывается метод, как было описано в первом посте. Так? Но я не могу завести метод для aWindow - как это сделать? Добавлено через 5 минут и 54 секунды Всё, разобрался, спасибо! Реализация должна быть в одном файле с описанием. -------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
||||
|
|||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Либо так, либо явное инстанцирования(об этом там тоже написано). Я не вижу никакой проблемы в copy-paste из .cpp в .h. А ты? 0_о Бред какой-то. Сформулируй свою мысль получше. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |