Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Ошибка с шаблоном класса |
Автор: Graf Zeppelin 23.5.2007, 08:44 | ||||||
Впервые реши применить шаблоны, и столкнулся со странной проблемой. Есть три файла test.cpp
tmp.h
tmp.cpp
При сборке выдаёт ошибки test.o: In function `main':/home/darth/Projects/test/src/test.cpp:13: undefined reference to 'tmp<char>::tmp()' :/home/darth/Projects/test/src/test.cpp:16: undefined reference to `tmp<char>::~tmp()' :/home/darth/Projects/test/src/test.cpp:16: undefined reference to `tmp<char>::~tmp()' |
Автор: Anikmar 23.5.2007, 08:48 |
Перенесите все из tmp.cpp в tmp.h Шаблоны воспринимаются только когда реализация их подключена #include Можно попробовать включить #include <tmp.cpp>, я так не пробовал - может и сработает |
Автор: 88andrey 23.5.2007, 08:48 |
описание класса с шаблономи должно находится в томже файлв где и класс |
Автор: Daevaorn 23.5.2007, 08:48 |
код шаблона должен быть в *.h/*.hpp файле |
Автор: Graf Zeppelin 23.5.2007, 08:52 |
Спасибо, это решило проблему. |
Автор: MAKCim 23.5.2007, 09:01 |
надоели эти темы, честное слово ![]() |
Автор: korbian 23.5.2007, 10:20 | ||
Ищи информацию о модели включения и модели разделения при применении шаблонов. есть хорошая книга:
Увы, электронный вариант я не встречал. ЗЫ: если где надешь электронный вариант, отпиши. |