Probleme template de classe c++
Résolu
jacinthe87
Messages postés
204
Statut
Membre
-
ty -
ty -
Bonjour,
j'ai crée une classe "Tableau" avec un constructeur avec et sans argument, lorsque j'appel un constructeur dans main , il m'affiche cet erreur:
voila mon fichier:
dans main:
merci pour votre aide!!
j'ai crée une classe "Tableau" avec un constructeur avec et sans argument, lorsque j'appel un constructeur dans main , il m'affiche cet erreur:
[Linker error] undefined reference to `Tableau<int>::Tableau(int)'
voila mon fichier:
#include <cstdlib>
#include <iostream>
using namespace std;
template <class T>
class Tableau{
protected:
T *tab;
int dim;
public:
Tableau();
Tableau(int);
void affiche();
};
template <class T>
Tableau<T>::Tableau(){
dim=0;
tab=NULL;
}
template <class T>
Tableau<T>::Tableau(int n):dim(n){
tab=new T[dim];
}
template <class T>
void Tableau<T>::affiche(){
for(int i=0;i<dim;i++){
cout<<tab[i]<<endl;
}
}
dans main:
#include <cstdlib>
#include <iostream>
#include "tableau.h"
using namespace std;
int main(int argc, char *argv[])
{
Tableau<int> t(2);
system("PAUSE");
return EXIT_SUCCESS;
}
merci pour votre aide!!
A voir également:
- Probleme template de classe c++
- Logiciel de classement de photos gratuit - Guide
- Classe ram - Guide
- Logiciel de classement de documents gratuit - Télécharger - Bureautique
- Dans le code de la page, modifiez la couleur de fond de la classe .pix. un code de 4 chiffres doit apparaître dans la grille. lequel ? ✓ - Forum Excel
- Bluetooth mercedes classe a 2005 - Forum Autoradio
4 réponses
Je suppose que 'tableau;h' est le fichier donné au dessus.
Si c'est le cas et si c'est bien le fichier inclus, je ne vois pas d'où peut provenir cette erreur.
Par contre il y a une 'petite' anomalie: new sans delete !
Si c'est le cas et si c'est bien le fichier inclus, je ne vois pas d'où peut provenir cette erreur.
Par contre il y a une 'petite' anomalie: new sans delete !
voila j'ai ajouté un destructeur mais toujours le meme probleme:
SVP j'ai besoin de votre aide!
#include <cstdlib>
#include <iostream>
using namespace std;
template <class T>
class Tableau{
protected:
T *tab;
int dim;
public:
Tableau();
Tableau(int);
void affiche();
~Tableau();
};
template <class T>
Tableau<T>::Tableau(){
dim=0;
tab=NULL;
}
template <class T>
Tableau<T>::Tableau(int n):dim(n){
tab=new T[dim];
}
template <class T>
void Tableau<T>::affiche(){
for(int i=0;i<dim;i++){
cout<<tab[i]<<endl;
}
}
template <class T>
Tableau<T>::~Tableau(){
delete tab;
}
SVP j'ai besoin de votre aide!