> Each enumerated type shall be compatible with char, a signed integer type, or an > unsigned integer type. The choice of type is implementation-defined,108) but shall be > capable of representing the values of all the members of the enumeration.
意訳) enum の型は処理系定義だよ、ただしメンバの値はすべて表現できなければならない
なので、メンバに負の値がなければ、処理系によっては unsigned を選ぶかもしれない unsigned になった場合は e = -1 は e = (unsigned) -1 のことだから、 なんというか、まぁ、仕方ないんじゃないか