最終更新日時(UTC):
が更新

履歴 編集

入れ子名の指定にグローバルスコープ :: を付加することを許可(C++11)

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

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

概要

入れ子名を指定する構文において、先頭にグローバルスコープの指定::を付加することが許可された。

// クラスAの宣言
struct A;

// クラスAの定義
struct ::A {
};

仕様

nested-name-specifierの構文が、以下のように変更された。

変更前:

nested-name-specifier:
  type-name ::
  namespace-name ::

変更後:

nested-name-specifier:
  :: opt type-name ::
  :: opt namespace-name ::

参照