Originariamente inviato da [ZeUs]'87
se provo ad eseguire il programma mi daà sempre lo stesso errore su '++stag'!!!!!!
Compilato come "C" non dà problemi. È compilandolo come "C++" che ottieni l'errore.
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;
}