Quote Originariamente inviata da MItaly Visualizza il messaggio
1. Direi anch'io il primo per lo stesso motivo.
2. A priori, non c'è un modo; in C++ non c'è reflection, e le enum sono giusto un gradino sopra delle costanti messe in un namespace, per cui non c'è modo di sapere se un valore è tra quelli validi di una enum. Un idioma che si usa spesso per le enum senza "buchi" è fare una cosa del genere:
codice:
enum NuovoEnum {
    primo,
    secondo,
    terzo,
    Max_NuovoEnum
};
E se devi loopare sui valori ammessi per NuovoEnum basta fare
codice:
for(int i=0; i<Max_NuovoEnum; ++i)
(ovviamente bisogna sempre avere cura che Max_NuovoEnum rimanga in fondo a tutto)
Troppo gentile rispondere il giorno di Natale! Grazie.
E soprattutto, continuo a scoprirne di nuove su C++, e più lo conosco, più c'è da conoscere.

Grazie di nuovo, e auguri!