Salut a tous
voila je suis entrain d'apprendre la manipulation des templates
je travaille sous VC++ , quand j'appelle mon constructeur ça me donne un beug voici un petit exemple
La classe Test.h
La classe test.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 template<class Type> class Test { public: Test(); virtual ~Test(); void add(); };
Le Main
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
18
19
20
21
22
23 #include "stdafx.h" #include "Test.h" ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// template<class Type> Test<Type>::~Test() { } template<class Type> Test<Type>::Test() { } template<class Type> void Test<Type>::add() { }
l'Erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #include "stdafx.h" #include "Test.h" int main(int argc, char* argv[]) { Test<int> k; return 0; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 --------------------Configuration: Test33 - Win32 Debug-------------------- Compiling... Test33.cpp Linking... Test33.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall Test<int>::~Test<int>(void)" (??1?$Test@H@@UAE@XZ) Test33.obj : error LNK2001: unresolved external symbol "public: __thiscall Test<int>::Test<int>(int const &)" (??0?$Test@H@@QAE@ABH@Z) Debug/Test33.exe : fatal error LNK1120: 2 unresolved externals Error executing link.exe. Test33.exe - 3 error(s), 0 warning(s)
Partager