Ciao a tutti, una domanda: c'è il modo di determinare a compile-time il numero di elementi in una enum, ovvero se io ho in un file
e in un altro file un vettore di funzioni indicizzato tramite tale enumcodice:typedef enum{F1, F2, F3} index_t;
cosa posso mettere (a parte una #define) al posto di 3 nella dichiarazione del vettore functions, in modo che se aggiungo un nuovo "indice" alla enum automaticamente il vettore venga allocato per 4 invece di 3 senza dover cambiare il codice a manina.codice:int f1(int a) { cout << "f1 " << a << endl; } int f2(int a) { cout << "f2 " << a << endl; } int f3(int a) { cout << "f3 " << a << endl; } int main() { int (*functions[3])(int); functions[F1] = f1; functions[F2] = f2; functions[F3] = f3; }

Rispondi quotando