![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| dbcoder |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 19.8.2005 Репутация: нет Всего: нет |
Здравствуйте.
Когда я выписываю в заголовочном файле шаблон template функции или класса, то компилятор выдаёт следующее: [Linker error] Unresolved external 'void function<int>(int)' referenced from C:.../TEST.OBJ Здесь троеточием я заменил путь к файлу. Предполагается, что в .H файле template <class Type> void function(Type x); И функция реализуется в .cpp и является пустой. Если компилятор ругается из-за того, что функция является шаблоном, то как это обойти? |
|||
|
||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
Весь шаблон в h-файл
-------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| threef |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 9 Всего: 10 |
Шаблон не компилируется, он должен полностью присутствовать в header. Посмотри <vector>.
|
|||
|
||||
| np9mi7 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 553 Регистрация: 17.8.2003 Где: Volgograd, Russia Репутация: 5 Всего: 10 |
|
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
| pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
В стандарте языка, экспортирование шаблонов существует, но его реализовали буквально пара компаний, так что придётся довольствоватся тем что есть.
А также, использование экспортирования шаблонов крайне не рекомендуемо(даже если это реализовано и поддерживается конпилятором) -------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
А почему? |
|||
|
||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
http://forum.sources.ru/index.php?showtopi...ndpost&p=887458 -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| CPlusPlusFAN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 315 Регистрация: 1.11.2005 Где: Воронеж Репутация: нет Всего: нет |
А зачем нужны шаблоны, если ни один из современных компиляторов не поддерживает их экспорт?
|
|||
|
||||
| Neitron |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 580 Регистрация: 3.10.2005 Где: Москва Репутация: 2 Всего: 5 |
CPlusPlusFAN
Ты наверное немного не понел, чего делать нельзя.... Это сообщение отредактировал(а) Neitron - 2.11.2005, 18:29 -------------------- Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей. Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Отсутствие экспортирования означает что интерфейс и его реализация для шаблона должны находиться в одном файле.
А ответ --- Затем, чтобы их конкретизовывать во вне хэдера. Затем, зачем собственно они были созданы. |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
Сорри - это был я.
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |