Erreur "undefined reference to" avec les templates
Hello tout le monde ^^, je débute en c++ .J ai un problème au niveau des templates.
J ai tout mis dans un ficher .h, mais j obtiens quand même une erreur à la compilation
Code:
1 2 3
| /tmp/ccIIxsFq.o: In function `main':
Test.cpp:(.text+0x19): undefined reference to `ClassiqueRle::ClassiqueRle()'
Test.cpp:(.text+0x29): undefined reference to `ClassiqueRle::~ClassiqueRle()' |
dans mon fichier Test.cpp
j ai 2 fichiers : Regle.h et Test.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
//Regle.h
#ifndef REGLE_H_
#define REGLE_H_
template <class T> struct Regle
{
public:
virtual void setvoisinage(T nb);
virtual T getvoisinage();
Regle<T>();
virtual ~Regle<T>();
};
struct ClassiqueRle : public Regle<int> {
private:
int nb;
public:
//Creer la regle
void setvoisinage(int nb)
{
this->nb=nb;
}
//Accede a la regle
int getvoisinage()
{
return this->nb;
}
ClassiqueRle();
~ClassiqueRle();
};
#endif /* REGLE_H_ */ |
mon fichier Test.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
//Test.cpp
#include "Regle.h"
int main()
{
using namespace std;
ClassiqueRle R;
return 0;
}; |
Je vois vraiment pas comment résoudre mon problème :(