Bonjour,

Je suis en train d'essayer de faire ma première template en C++ et je bloque sur un problème sûrement stupide:
J'ai le code suivant (j'ai enlevé tout ce qui était inutile) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
//Fichier timequeue.h
namespace monNameSpace
{
template <class T>
class TimeQueue
{
	public :
                 TimeQueue(int _elementTimeSpan);
};
}
Mon fichier .cpp est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
//fichier timequeue.cpp
#include "timequeue.h"
template <class T>
monNameSpace::TimeQueue<T>::TimeQueue(int _elementTimeSpan){}
et mon main file:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
#include "timequeue.h"
using namespace monNameSpace;
int main()
{
TimeQueue<int> queues(20);
return 0;
}
Le code ne compile pas : " undefined reference to `monNameSpace::TimeQueue<int>::TimeQueue(int)'

alors qu'il compile si j'enlève l'argument au constructeur. D'où vient le problème ?