Bonsoir à tous
j'essaye de creer un petit programme qui utilise des templates pour l'instant je veux les essayer avec le simple type int pour la suite l'integere à mes types de classes.
mais j'ai un probleme à la compilation(g++)
voici mon bout de code:
//ceci est mon ".h"
et là mon ".cxx"
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 # ifndef TVECTEUR_H #define TVECTEUR_H #include <stream.h> #include <string.h> #include <stdlib.h> #include <stdio.h> #include <ctype.h> #include <values.h> template <class T> class TVecteur { private: T *data; int nbrElem; public: TVecteur(int n); ~TVecteur(void){delete data;} }; #endif
l'erreur que j'ai à la compilation est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #include "TVecteur.h" template<class T> TVecteur<T>::TVecteur(int n) { data = new T[n]; nbrElem = n; }
je ne vois pas du tout d'ou vient le probleme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 /tmp/cc31Wl51.o: In function `main':main.cxx:(.text+0x61): référence indéfinie vers « TVecteur<int>::TVecteur(int)» collect2: ld a retourné 1 code d'état d'exécution
Merci pour votre aide
Partager