Bonjour,
alors je dois créer une classe vecteur. Tout marche bien, mais apparament le destructeur pose problème. J'ai l'erreur suivant qui apparait lors de la compilation :
erreur: expected initializer before «::" token
et voila le code du .cc :
et le code du .h :
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 // Type vecteur #include <iostream.h> #include "Vecteur.h" // Constructeurs vecteur::vecteur() { taille = 0 ; tab = NULL ; } vecteur::vecteur(int t) { taille = t ; tab = (new float [t]); int i; for( i =0; i<t; i++) { tab[i]= 0; } } // Destructeur virtual ~vecteur::vecteur() { if(tab!=NULL) delete []tab; }
(mettre vitual ou non devant le destructeur ne change rien a la compilation).
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 #ifndef VECTEUR_H #define VECTEUR_H // // Type vecteur // #include <stdio.h> #include <stdlib.h> //#include <sunmath.h> #include <iostream.h> #define FAUX 0 #define VRAI ~FAUX // // Type vecteur de int // class vecteur { private: int taille ; float *tab ; public: vecteur() ; void affiche() ; // Constructeurs par defaut(void) , avec la taille du vect.(int), par copie(vecteur&) vecteur(int); // Destructeur ~vecteur(); }
Si vous pouviez m'aider ce serait sympa, ca fait deux jours que je suis bloquée la dessus ! Merci !
Partager