|
|
|
Шаблоны24.02.2010, 12:49. Показов 5641. Ответов 28
Когда разделяю реализацию и прототип шаблонной в функции по разным файлам (*.h и *.cpp) происходит ошибка линковки... Я так понимаю, делать так нельзя?
0
|
|
| 24.02.2010, 12:49 | |
|
Ответы с готовыми решениями:
28
«Шаблоны шаблонов» vs «шаблоны с параметрами-шаблонами».
Помогите писать на С++ через шаблоны. Консуле я писал, но надо писать исползуя шаблоны |
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
||||||
| 01.03.2010, 12:59 | ||||||
|
fasked:
Эта штука хороша, но не даёт широких возможностей: Так как такие шаблонные функции будут работать только с типами, для которых будет явное инстацирование, то есть для типов которые ты пропишишь в явном инстацировании. Если в такую допустим передать Объект типа MyClass или BClass функция не будет работать, так как об этом типе ей не известно, тебе предётся его заранее прописать. Пример явного инстацирования: объявление в файле .h
0
|
||||||
|
3606 / 2746 / 356
Регистрация: 11.03.2009
Сообщений: 6,318
|
|
| 01.03.2010, 13:05 | |
|
Genius Ignat, а ты случаем не путаешь с перегрузкой функций?)
0
|
|
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
||
| 01.03.2010, 13:13 | ||
|
Полноценного кода привести не могу компилятор не поддреживает, старый очень.
Этот способ был описан в книге: В.В.Лаптев С++ Объектно-ориентированное программтрование. В книге написано в соответствии со стандартом C++ 2003 года. Добавлено через 7 минут
Может в этом есть другой смысл. Похоже на перегрузку, и не понятно на кой автор это показывал. fasked: А кстати вот и решение нашлось используй перегрузку фнкций.
0
|
||
|
|
||
| 01.03.2010, 13:20 | ||
|
Genius Ignat, напомню, что речь шла о том, что хочется пользователю выдать библиотеку, в *.h файлах от которой есть лишь описания шаблонных функций, но нет их реализации (типа код мы не показываем). Явное инстациирование в *.h файле ну ни разу под это определение не попадает. К тому же совершенно непонятно, что делать с тем кодом, который ты привёл. Вариант "такие шаблонные функции будут работать только с типами, для которых будет явное инстацирование" точно так же является недопустимым для пользовательской библиотеки (ибо нафиг нужен пользователю такой шаблон, который работает только для ограниченного набора типов)
Добавлено через 46 секунд
0
|
||
|
|
||
| 01.03.2010, 13:24 [ТС] | ||
|
Evg,
Genius Ignat, Шаблоны
0
|
||
|
|
||
| 01.03.2010, 13:28 | ||
|
0
|
||
|
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
|
|
| 01.03.2010, 14:58 | |
|
fasked:
Ни кто лучше автора языка тебе не ответит:
0
|
|
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|||||||||||||||||
| 01.03.2010, 16:48 | |||||||||||||||||
Прошу прощения, но приведенный мною пример не совсем верен. Дело в том, что в таком случае любая спецификация оператора вывода будет дружественной классу Foo. Исправленная версия:
3
|
|||||||||||||||||
| 01.03.2010, 16:48 | |
|
Шаблоны в C++ шаблоны шаблоны в си++ Шаблоны Шаблоны С++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|