0 / 0 / 0
Регистрация: 12.01.2014
Сообщений: 12
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Можно ли в не шаблонном классе создать шаблонные методы?04.03.2014, 15:27. Показов 2015. Ответов 20
Метки нет (Все метки)
Можно ли в не шаблонном классе создать шаблонные методы?
Пример: Есть перегруженная функция например:
Если сделать так:
Вопрос в том как это использовать? Программа компилируется нормально, но при использовании:
Код
(.text.startup+0x67):-1: ошибка: undefined reference to `void A::my_test<int>(int)'
0
|
04.03.2014, 15:27 | |
Ответы с готовыми решениями:
20
Для чего переопределяют методы, если можно просто в дочернем классе создать метод с таким же именем? String в шаблонном классе Параметры в шаблонном классе Ошибки в шаблонном классе |
18842 / 9841 / 2408
Регистрация: 30.01.2014
Сообщений: 17,284
|
|
04.03.2014, 15:35 | 2 |
0
|
0 / 0 / 0
Регистрация: 12.01.2014
Сообщений: 12
|
||||||
04.03.2014, 15:39 [ТС] | 3 | |||||
да реализация находится в отдельном файле
0
|
zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
|
|
04.03.2014, 15:40 | 4 |
кстати да у меня такая ошибка была, когда реализовывал шаблон в другом срр, но тут вроде как метод только
Добавлено через 29 секунд попробуй в main его определить
0
|
0 / 0 / 0
Регистрация: 12.01.2014
Сообщений: 12
|
|
04.03.2014, 15:42 [ТС] | 5 |
0
|
18842 / 9841 / 2408
Регистрация: 30.01.2014
Сообщений: 17,284
|
|
04.03.2014, 15:55 | 6 |
Artemka101, Вы прям одновременно одни и те же вопросы задаете
Читай пост, там все есть.
0
|
zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
|
||||||
04.03.2014, 15:56 | 7 | |||||
у меня был косяк - когда шаблон был в отдельном срр и не работал, а в main работал т.к. шаблонные классы не генерятся из других срр (по человечески тебе это может объяснить кто-то другой, не я) ), шаблон же это лишь указание компилятору как создавать тот или иной экземпляр функции/класса/метода
перенеси в main это, или вообще попробуй весь класс в майн поместить
0
|
0 / 0 / 0
Регистрация: 12.01.2014
Сообщений: 12
|
|
04.03.2014, 16:08 [ТС] | 8 |
Но там обсуждается шаблонный класс, меня интересует только шаблонный метод, а не весь класс
Добавлено через 21 секунду это не вариант
0
|
zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
|
|
04.03.2014, 16:09 | 9 |
0
|
0 / 0 / 0
Регистрация: 12.01.2014
Сообщений: 12
|
|
04.03.2014, 16:17 [ТС] | 10 |
работает но переносить классы в main все равно не вариант
Добавлено через 46 секунд Блин похоже придется делать весь класс шаблонным
0
|
zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
|
|
04.03.2014, 16:25 | 11 |
ещё раз попытаюсь до вас донести, в другом срр шаблон работать не будет, только если вы опишите метод в .h или в main
0
|
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
|
|
04.03.2014, 16:32 | 12 |
объявление и реализация для шаблонных классов(классов с шаблонными ф-циями) должны быть в одном файле
0
|
18842 / 9841 / 2408
Регистрация: 30.01.2014
Сообщений: 17,284
|
|
04.03.2014, 16:38 | 13 |
Разницы нет. Просто переносить в cpp следует все методы, кроме шаблонного. А шаблонный оформить как советуется в той теме. Постарайся суть ухватить. Суть в раздельной компиляции в С++.
Добавлено через 58 секунд aLarman, вообще не должны. Реализация должна быть доступна в точке инстанцирования. И только.
0
|
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
|
|
04.03.2014, 16:39 | 14 |
0
|
0 / 0 / 0
Регистрация: 12.01.2014
Сообщений: 12
|
|
04.03.2014, 16:43 [ТС] | 15 |
0
|
18842 / 9841 / 2408
Регистрация: 30.01.2014
Сообщений: 17,284
|
||||||
04.03.2014, 16:44 | 16 | |||||
0
|
18842 / 9841 / 2408
Регистрация: 30.01.2014
Сообщений: 17,284
|
|
04.03.2014, 17:00 | 18 |
Это отдельный разговор. Просто у людей заблуждение насчет разных файлов, когда дело совсем не в файлах, а в наличии полного определения шаблона в точке инстанцирования (что и показывает этот пример).
1
|
0 / 0 / 0
Регистрация: 12.01.2014
Сообщений: 12
|
||||||
04.03.2014, 17:17 [ТС] | 19 | |||||
смысл в явном перечислении типов
0
|
DrOffset
|
04.03.2014, 17:23
Можно ли в не шаблонном классе создать шаблонные методы?
#20
|
Не по теме: Artemka101, вообще-то про смысл не я спрашивал.
0
|
04.03.2014, 17:23 | |
Итератор в шаблонном классе Ошибка в шаблонном классе Статическая функция в шаблонном классе typedef в шаблонном классе фыв Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |