Date
2013-02-03.00:00:00
Message id
4275

Content

In an enumeration whose underlying type is not fixed, the type of the first enumerator is unspecified if it has no initializer, meaning that an implementation could choose either a signed or an unsigned type. As a result, the values of one and two in this example could be either -1 and 0 or very large unsigned numbers:

  enum { zero, one = zero -1, two };

It would be better if 9.8.1 [dcl.enum] paragraph 5 specified the type of the first enumerator as a signed type.