Re: derived templates doesn't link in Visual C++ 6.0
От: Андрей Россия  
Дата: 10.11.01 06:09
Оценка:
Здравствуйте Martyn2000, Вы писали:

M>Привет!


M>Подскажите, где проблема, pls. Замаялся уже искать. Или может VC++ 6.0 глючит?


M>=== a.h ===

M>[vc]
M>class Event : public CObject {
M> DECLARE_DYNAMIC( Event );
M>public:
M> Event();
M> virtual ~Event();
M>};

M>class Actor {

M>public:
M> Actor();
M> ~Actor();
M>};

M>template <class T, class C>

M>class ActorThread : public Actor {
M>public:
M> ActorThread();
M> ~ActorThread();
M>private:
M> CWinThread* m_thread;
M>};
M>[/vc]
M>=== a.cpp ===
M>[vc]
M>#include "a.h"
M>IMPLEMENT_DYNAMIC( Event, CObject );


M>template <class T, class C>
M>ActorThread<T,C>::ActorThread() {
M> m_thread = AfxBeginThread( RUNTIME_CLASS( T ) );
M>}

M>template <class T, class C>

M>ActorThread<T,C>::~ActorThread() {
M> m_thread->PostThreadMessage( WM_QUIT );
M>}

M>[/vc]

M>Заранее спасибо.



Перенеси реализацию ActorThread (то, что я выделил) в файл a.h и все проблемы исчезнут.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.