J'ai donc un enum qui contient toutes mes étapes d'un genre de graph ou automate, j'ai besoin de l'incrémenter, j'ai donc essayer de créer un operateur++ en m'aidant de la doc, mais j'avoue ne pas du tout me sentir à l'aise avec ces définitions d'opérateur ...
Voilà ce que j'ai écrit :
Code :
- enum STATE_EXE { NO_ST, ...};
- friend const STATE_EXE& operator++( const STATE_EXE& a) { return ++a; }
|
l'opérateur est défini dans une classe, pas l'enum, je ne sais pas si c'est pour ça que j'ai dû mettre friend ... mais sinon j'ai ces erreurs :
midasctl.h(153) : error C2807: the second formal parameter to postfix 'operator ++' must be 'int'
midasctl.h(153) : error C2333: '++' : error in function declaration; skipping function body
Hormis ça cela compile, pas de pb, par contre à l'exécution de l'instruction de pré-incrémentation de la variable de type STATE_EXE j'ai un stack overflow la première fois, hors je suis largement dans les bornes de l'enum, et au 2ème passage c'est exception ...
Donc je dois mal définir cette opérateur je pense.
Merci.