Bonjour j'ai une petite question sur une erreur que je n'arrive pas à comprendre.
Pour info je débute l'étude de la POO avec C++.
Pour m'entrainer j'essay d'encapsuler une partie de SDL .
voici mon code:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef FENETRE_H_
#define FENETRE_H_
 
//encapsulation de SDL
 
class Fenetre 
{
public:
 
	Fenetre();
	Fenetre(int,int,int);
 
        ~Fenetre();
 
   // fonction membre d'affectation (INLINE).
 
   void definirlongueur(int longueur) {wlongueur(longueur);}  
   void definirlargeur(int largeur)   {wlargeur(largeur);}
   void definirBitCouleur(int bit)    {wbit(bit);}
 
   //fonction d'acces des données membres (INLINE).
 
   int  lirelongueur()const    {return wlongueur;}
   int  lirelargeur() const    {return wlargeur;}
   int  lirenbrbit()  const    {return wbit;} 
   void tracerfenetre();
 
private:
	int wlongueur, wlargeur , wbit;
	SDL_Surface *pfenetre;
};
 
 
Fenetre::Fenetre()
{
wlongueur(800);
wlargeur(600);
wbit(32);
}
 
Fenetre::Fenetre(int longueur,int largeur ,int bit)
{
wlongueur(longueur);
wlargeur(largeur);
wbit(bit);
}
 
Fenetre::~Fenetre()
{
	delete pfenetre;
	pfenetre = NULL;
}
 
void Fenetre::tracerfenetre()
{
	pfenetre = new SDL_Surface;      //allocation memoire.
	pfenetre = SDL_SetVideo(wlongueur,wlargeur,wbit,SDL_HWSURFACE);
	SDL_Flip(pfenetre);
}
 
#endif /*FENETREH_*/
Seulement lors de la compilation j'ai l'erreur suivante :

Fenetre_principale.h: In member function ‘void Fenetre::definirlargeur(int)’:
Fenetre_principale.h:18: erreur: ‘((Fenetre*)this)->Fenetre::wlargeur’ cannot be used as a function

Est ce que quelqu'un pourait m'aider à comprendre.
Ainsi que de juger mon premier fichier .h afin de savoir si je suis sur la bonne voie.
Merci par avence.


balises [code] rajoutées par r0d, merci d'y penser dorénavant