Bonjour,
Voici mon problème.
J'ai une classe template (simplifiée à l'extrème pour l'exemple):
Voici l'implémentation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public: template <class S> class RequestProcessor { RequestProcessor(); virtual ~RequestProcessor(); };
Une classe dérivée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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() { }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include "market\RequestProcessor.h" class ContractInfoProcessor : public RequestProcessor<char> { public: ContractInfoProcessor(void); virtual ~ContractInfoProcessor(void); };A la compilation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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) { }
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
Partager