最終更新日時: 2025年07月10日 10時26分30秒 (JST)
Koichi Murase が更新

履歴 編集

# 列挙子の末尾へのカンマ付加を許可(C++11)

このページはC++11に採用された言語機能の変更を解説しています。

のちのC++規格でさらに変更される場合があるため関連項目を参照してください。

## 概要

C99互換として、末尾の列挙子の後ろにカンマを書くことが許可された。

## 仕様

enum列挙型の構文が、以下のようになった：

    enum identifier opt { enumerator-list opt }
    enum identifier opt { enumerator-list , } // 追加

従来からある1行目の読み方は、以下のようになる：

「`enum`キーワードの後ろに省略可能な列挙型の識別子を付ける。その後の波カッコ内には、列挙子をカンマ区切りで記述する。その列挙子のリストは省略可能である。」

追加された2行目の読み方は、以下のようになる：

「`enum`キーワードの後ろに省略可能な列挙型の識別子を付ける。その後の波カッコ内には、列挙子をカンマ区切りでひとつ以上記述する。その列挙子のリストに続いて、カンマをひとつ入力できる。」

## 例

    enum Color {
      Red,
      Green,
      Blue, // このカンマが書けるようになった
    };

    int main() {}

### 出力

## 参照

- CWG Issue 518. Trailing comma following enumerator-list