なぜ、この有効なC++ではありません?:別の列挙型の基になる型として列挙型を使用できないのはなぜですか?
enum foo : unsigned { first_foo, second_foo };
enum bar : foo { best_foo = first_foo };
GCC 5.4.0は言う:
/tmp/a.cpp:3:16: error: underlying type ‘foo’ of ‘bar’ must be an integral type
enum bar : foo { best_foo = first_foo };
foo
がfloat
、またはいくつかの構造体であれば、私はこのエラーを取得する理由私は理解することができ、または何もない。しかし、これはセマンティクス、型の安全性などの点で私には完全に正当だと思われます。何が欠けていますか?
なぜですか?スタンダードはそうそうだ。 :) – Zereges
@Zereges:[しかし...なぜ?](https://cdn.meme.am/cache/instances/folder489/500x/59809489.jpg) – einpoklum
通常の理由は、[一部の人が提案を書いた] (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf)、提案された内容が受け入れられました。 –