classで定義した列挙型は、従来のenumに加えて、「整数型への暗黙の型変換を行わない」「列挙型のスコープを持つ」という機能を持つ。区切りで、基底の整数型を指定できる。Blue};列挙子の値が基底型の範囲に収まらない場合、プログラムは不適格となる列挙型の基底型を取得するには、<type_traits>ヘッダで定義されるstd::underlying_typeを使用する列挙型は、先行宣言でも基底型を指定できる。intに収まる限りintより大きな型にはならない)スコープを持たない列挙型の列挙子が空である場合、値0ひとつを列挙子として持つ2つの列挙型の基底型が同じである場合、それらの列挙型は互換性のあるメモリレイアウトを持つ列挙子に値を指定しない場合、最初の列挙子には定数値0が設定される。2つ目以降の列挙子は、ひとつ前の値を1進めた値を持つスコープを持つ列挙型に合わせた、enumの拡張スコープを持つ列挙型の導入に合わせて、スコープを持たない列挙型もC++11で以下の機能拡張が行われた先行宣言ができるようになった基底型を指定できるようになった詳細は、上述した仕様を参照。予期しないエラー(スコープがないことによる名前衝突、上記の型安全性の問題による予期しない型変換)コードのわかりやすさ(明確さ)コードの移植性ECMA規格になっているC++/CLIが、現在のスコープを持つ列挙型と等価の機能を持っていたために、その経験を標準C++に取り入れることとなった。下に提供されています。