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 и все проблемы исчезнут.
Пока на собственное сообщение не было ответов, его можно удалить.