Probleme template de classe c++
Résolu
jacinthe87
Messages postés
194
Date d'inscription
Statut
Membre
Dernière intervention
-
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 - 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!