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) :
Mon fichier .cpp est le suivant :
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); }; }
et mon main file:
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){}
Le code ne compile pas : " undefined reference to `monNameSpace::TimeQueue<int>::TimeQueue(int)'
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; }
alors qu'il compile si j'enlève l'argument au constructeur. D'où vient le problème ?
Partager