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"

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
et là mon ".cxx"

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;
}
l'erreur que j'ai à la compilation est:
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
je ne vois pas du tout d'ou vient le probleme.

Merci pour votre aide