Dérivation de classe template en visual c++ 2003
Bonjour,
Voici mon problème.
J'ai une classe template (simplifiée à l'extrème pour l'exemple):
Code:
1 2 3 4 5 6
|
public:
template <class S> class RequestProcessor {
RequestProcessor();
virtual ~RequestProcessor();
}; |
Voici l'implémentation :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
#include "stdafx.h"
#include "RequestProcessor.h"
//////////////////////////////////////////////////////////////////////
template <class S>
RequestProcessor<S>::RequestProcessor()
{
}
//////////////////////////////////////////////////////////////////////
template <class S>
RequestProcessor<S>::~RequestProcessor()
{
} |
Une classe dérivée :
Code:
1 2 3 4 5 6 7 8 9
|
#include "market\RequestProcessor.h"
class ContractInfoProcessor : public RequestProcessor<char>
{
public:
ContractInfoProcessor(void);
virtual ~ContractInfoProcessor(void);
}; |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
#include "StdAfx.h"
#include "ContractInfoProcessor.h"
//////////////////////////////////////////////////////////////////////
ContractInfoProcessor::ContractInfoProcessor(void)
{
}
//////////////////////////////////////////////////////////////////////
ContractInfoProcessor::~ContractInfoProcessor(void)
{
} |
A la compilation :
ContractInfoProcessor.obj : error LNK2019: symbole externe non résolu "public: __thiscall RequestProcessor<char>::RequestProcessor<char>(void)" (??0?$RequestProcessor@D@@QAE@XZ) référencé dans la fonction "public: __thiscall ContractInfoProcessor::ContractInfoProcessor(void)" (??0ContractInfoProcessor@@QAE@XZ)
ContractInfoProcessor.obj : error LNK2019: symbole externe non résolu "public: virtual __thiscall RequestProcessor<char>::~RequestProcessor<char>(void)" (??1?$RequestProcessor@D@@UAE@XZ) référencé dans la fonction "public: virtual __thiscall ContractInfoProcessor::~ContractInfoProcessor(void)" (??1ContractInfoProcessor@@UAE@XZ)
Avez-vous une idée ?
Merci