Bonjour,
voici la partie de mon code où j'ai un petit soucis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 template<class T, const int N> class CVecteur { private: int size; T data[N];Dans ce constructeur de class, je remplie une tableau de type T et de taille maxi N. L'utilisateur entre des valeurs, et lorsqu'il entre -1 le remplissage du tableau s'arrête. Jusque là je pense avoir réalisé le travail demandé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 template<class T, const int N> CVecteur<T,N> :: CVecteur() { size = 0; T valeur = NULL; cout<<"\nCREATION DE L'OBJET\nEntrer -1 pour arreter de remplir le tableau\n"; while ((valeur != -1)&&(size < N)) { cout <<"Nombre ? "; cin>>valeur; if (valeur!=-1) { data[size]=valeur; cout <<"data[" <<size<<"] = "<< data[size] << endl; size++; } } }
Lorsque T est un int par exemple, aucun problème. Par contre, j'ai essayé avec T = char et là, soucis : lorsque je rentre -1 pour arrêter de remplir le tableau, le caractère - va dans une case et 1 dans la suivante, et la condition (valeur!=-1) est considéré comme fausse...
Je viens donc vers vous pour vous demander un moyen de contourner ce soucis...
Comme d'habitude, toutes remarques sont les biens venues ;-)
Partager