I have read somewhere that the C++ standard does not allow something like enum an_enum { a, b, c, };, while later versions of C (I think from mid-90s) do allow such declarations with trailing commas. If C++ is supposed to have backwards compatibility with C, how come this feature is forbidden? Any special reason?
I also read that such trailing commas are actually good, so that just adds to the confusion.