Bonsoir,
Je me suis mis à l'OpenGL en C++ et je suis à 2 doigts de me tirer une balle . Je travaille sous Dev C++. J'ai un programme principal qui se situe dans un fichier main.cpp et qui inclut entre autres un fichier test.h.
Test.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 using namespace std; class Test { public: Test() {}; void rien() {}; };
test.cpp
Par souci de clarté, je n'ai pas détaillé tout le contenu de mon fichier test.cpp. Le programme présenté ici n'est pas super propre : ça reste pour l'instant une version de test.
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 #include <windows.h> #include <gl\gl.h> #include <gl\glu.h> #include <gl\glaux.h> #include "Test.h" // ... int affichage (GLvoid) { // ... Test t(); t.rien(); } // ... int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // ... while (!fini) { // ... affichage(); // ... } }
Quand je compile, l'erreur renvoyée est :
request for member `rien' in `t', which is of non-class type `Test ()()' .
Le problème apparaît aussi avec des classes ayant un nom différent de Test. Avec Google, j'ai vu que cette erreur pouvait être dûe à une histoire de pointeur (utilisation de '.' au lieu de '->') mais ici, je n'ai pas de pointeur. Je n'ai pas eu ce problème avec l'inclusion de toutes les autres classes que j'ai faite jusqu'à présent. Impossible de trouver d'où vient le problème...
Partager