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:
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);
}
maintenant dans la fonction membre statique
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 !!??
}
Normalement il faudrait utiliser le pointeur p->VAR3 pour
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