次の方法で共有


名前と修飾名

バイナリ :: スコープ解決演算子 () で使用する名前が呼び出されます」。は 「修飾名スコープ解決演算子が二項演算子の左側で指定されたクラスのメンバーまたは基本クラスのメンバーであるが終了したら指定します。

メンバー選択演算子 (または) – > 演算子の左側で指定するオブジェクトの型またはクラスのメンバーは基本クラスのメンバーであるが終了したら指定します。 – > メンバー選択演算子 () の右側で指定された名前は – > の左側にクラス オブジェクトでありクラスは他のクラス型へのポインターに評価するオーバーロードされたメンバー選択演算子 () を定義すること – > 別のクラス型のオブジェクトです。(このプロビジョニングは クラス メンバーのアクセス で詳しく説明します)。

コンパイラは次の順序で名前の名前がの場合検索 : 停止します。

  1. 名前が関数内で使用されている現在のブロック スコープ ; そうでない場合グローバル スコープ。

  2. 外部 (関数の引数を含む) を含める各ブロックの外側のスコープによって最も外側の関数スコープ。

  3. 名前がメンバー関数の中で使用するとクラスのスコープとは名前が検索されます。

  4. クラスの基本クラスは名前が検索されます。

  5. 外側の入れ子になったクラス スコープ (存在する場合) とベースが検索されます。検索で囲む最も外側のクラス スコープで検索するまで続行されます。

  6. グローバル スコープだけが検索されます。

ただし次のようにこの検索順序を変更できます :

  1. :: が付いた名前はグローバル スコープで最初に検索を実行します。

  2. クラス struct と 共用体 のキーワードが付いた名前はコンパイラに クラス structまたは 共用体 の名前だけが捜させます。

  3. スコープ解決演算子 (::) の左側の名前は クラス struct 名前空間 または 共用体 名だけを指定できます。

名前が非静的メンバーを示していますが静的メンバー関数で使用するとエラー メッセージが生成されます。同様に名前は外側のクラスの静的メンバーを参照する場合にエラー メッセージはクロージャ クラスに囲クラスの this のポインターがないため生成されます。

参照

関連項目

スコープ規則の概要