名前と修飾名
バイナリ :: スコープ解決演算子 () で使用する名前が呼び出されます」。は 「修飾名スコープ解決演算子が二項演算子の左側で指定されたクラスのメンバーまたは基本クラスのメンバーであるが終了したら指定します。
メンバー選択演算子 (または)。 – > 演算子の左側で指定するオブジェクトの型またはクラスのメンバーは基本クラスのメンバーであるが終了したら指定します。 – > メンバー選択演算子 () の右側で指定された名前は – > の左側にクラス オブジェクトでありクラスは他のクラス型へのポインターに評価するオーバーロードされたメンバー選択演算子 () を定義すること – > 別のクラス型のオブジェクトです。(このプロビジョニングは クラス メンバーのアクセス で詳しく説明します)。
コンパイラは次の順序で名前の名前がの場合検索 : 停止します。
名前が関数内で使用されている現在のブロック スコープ ; そうでない場合グローバル スコープ。
外部 (関数の引数を含む) を含める各ブロックの外側のスコープによって最も外側の関数スコープ。
名前がメンバー関数の中で使用するとクラスのスコープとは名前が検索されます。
クラスの基本クラスは名前が検索されます。
外側の入れ子になったクラス スコープ (存在する場合) とベースが検索されます。検索で囲む最も外側のクラス スコープで検索するまで続行されます。
グローバル スコープだけが検索されます。
ただし次のようにこの検索順序を変更できます :
:: が付いた名前はグローバル スコープで最初に検索を実行します。
クラス struct と 共用体 のキーワードが付いた名前はコンパイラに クラス structまたは 共用体 の名前だけが捜させます。
スコープ解決演算子 (::) の左側の名前は クラス struct 名前空間 または 共用体 名だけを指定できます。
名前が非静的メンバーを示していますが静的メンバー関数で使用するとエラー メッセージが生成されます。同様に名前は外側のクラスの静的メンバーを参照する場合にエラー メッセージはクロージャ クラスに囲クラスの this のポインターがないため生成されます。