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;
}