Почему если я выношу описания классов и реализацию в отдельные файлы (например AbstractItem.h и AbstractItem.cpp для класса AbstractItem) то компиляция проходит нормально но компоновщик выдает ошибки:
------------------
Test.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall Derived<class AbstractItem *>::~Derived<class AbstractItem *>(void)" (??1?$Derived@PAVAbstractItem@@@@UAE@XZ)
Test.obj : error LNK2001: unresolved external symbol "public: __thiscall Derived<class AbstractItem *>::Derived<class AbstractItem *>(class AbstractItem *)" (??0?$Derived@PAVAbstractItem@@@@QAE@PAVAbstractItem@@@Z)
------------------
Test.obj в данном случае содержит функцию main
Причем "dumpbin -symbols Derived.obj" выдает следующее
---------------------
Dump of file Derived.obj
2CF .debug$S
38 .debug$T
4B .drectve
---------------------
Почему не скомпилировались функции?
Когда все находится в одном файле все проходит нормально.
Использую Visual C++ v6.0 SP5.