Bonjour,
En ce moment je fait un petit prog OpenGL qui utilise Glut. J'ai décidé de faire une class pour la gestion de ma fenetre. Le .h donne ca:
Mon .c
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 #ifndef _CWINDOWS_ #define _CWINDOWS_ #include "CAxis.h" class CWindows { private: bool form_fullscreen; bool form_info; CAxis Axis; void (*pDisplay)(void); public: CWindows(); ~CWindows(void); void Init(int,char**); void Display(void); void Key(unsigned char,int,int); }; #endif
Jusque la pas de souci mais voila mon compilateur (dev-c++) me retourne les érreurs suivante:
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 [...] CWindows::CWindows() { form_fullscreen = false; form_info = false; } void CWindows::Init(int argc,char** argv) { glutInit(&argc,argv); glutInitWindowSize(resx,resy); glutInitDisplayMode(GLUT_RGBA|GLUT_SINGLE); glutCreateWindow("Appli"); glutPositionWindow(0,0); glutInitWindowSize(300,300); glutDisplayFunc(this->Display()); glutKeyboardFunc(this->Key); } [...]
In member function `void CWindows::Init(int, char**)':
invalid use of void expression
argument of type `void (CWindows::)(unsigned char, int, int)' does not match `void (*)(unsigned char, int, int)'
[Build Error] [CWindows.o] Error 1
Tout en sachant que l'erreur 'invalid use of void expression' est pour la ligne de code 'glutDisplayFunc(this->Display());'. Et que l'erreur 'argument of type `void (CWindows::)(unsigned char, int, int)' does not match `void (*)(unsigned char, int, int)'' est pour la ligne 'glutKeyboardFunc(this->Key);'.
J'ai éssayer aussi avec un pointeur sur fonction:
Mais le compilateur me retourne l'érreur suivante: 'void value not ignored as it ought to be'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 pDisplay = this->Display();
Quelqu'un peut t'il m'aider ?
Partager