Решено: Проблема с шаблонами (программа не линкуется из нескольких файлов)

Модератор: Модераторы разделов

RexADecimal
Сообщения: 5
ОС: Windows XP, Debian Etch

Решено: Проблема с шаблонами

Сообщение RexADecimal »

Пишу лабу с использованием шаблонов (шаблонного класса, если точнее) на C++. Если разбиваю код только на два файла (main.h и main.cpp соответственно) и описываю реализацию шаблонного класса тут же (в main.cpp) - то все в порядке. Как только выношу реализацию методов класса - в какой-нибудь smth.cpp - программа перестает собираться, на каждый вызов метода шаблонного класса из main.cpp линкер выдает ошибку типа:

obj\Release\main.o:main.cpp:(.text+0xba)||undefined reference to `List<Student>::printList() const'|

В качестве IDE использую Code::Blocks Nightly Build.
Пробовал под виндой на MSVS 2008 Beta 2 - так же выскакивают ошибки подобного вида.
В чем проблема? Разве оба файла из проекта (main.cpp и реализация методов) не линкуются вместе? Как ее решить?
Спасибо сказали:
RexADecimal
Сообщения: 5
ОС: Windows XP, Debian Etch

Re: Решено: Проблема с шаблонами

Сообщение RexADecimal »

Прошу прощения, закройте тему - я уже нашел решение на koders.com.
Оказывается просто забыл написать перед реализацией код типа:
template class List<Student>;
)
Спасибо сказали: