Compilato come "C" non dà problemi. È compilandolo come "C++" che ottieni l'errore.Originariamente inviato da [ZeUs]'87
se provo ad eseguire il programma mi daà sempre lo stesso errore su '++stag'!!!!!!![]()
![]()
![]()
Questo perché dovresti fare l'overload dell'operatore ++ (postfisso e prefisso), per poterlo usare con il tipo stagioni_t.
Quindi (esempio con operatore prefisso):
codice:#include <stdio.h> typedef enum { autunno, inverno, primavera, estate } stagioni_t; inline void operator++ (stagioni_t& val) { val = stagioni_t(val+1); } int main (void) { stagioni_t stag; for (stag = autunno; stag <= estate; ++stag) { printf ("%d\n", stag); } return 0; }

Rispondi quotando