Bonjour,
Je viens de m'apercevoir d'une caractéristique bizzare de
enum lorsqu'il est déclaré dans une classe et utilisé dans
une fonction membre statique. Par ex:
maintenant dans la fonction membre statique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class MaClasse { enum{VAR1, VAR2, VAR3}; int uneVar; double uneAutre; etc... public: MaClasse(); etc... static void staticFunc(void *data); }
Normalement il faudrait utiliser le pointeur p->VAR3 pour
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void MaClasse::staticFunc(void *data) { MaClasse *p = (MaClasse*)data; p->uneVar; p->uneAutre = VAR3; //ça marche !!?? }
accéder aux variable membre privées, non ?
En tous cas je n'ai aucune erreur du compilo et mon
appli semble fonctionner.
Est ce que quelqu'un pourrait me dire si c'est normal ?
Merci
Partager