宣言ステートメント (C++)
宣言ステートメントでは、現在のスコープ内に新しい名前が導入されます。 名前は次のいずれかです。
型名 (class、struct、union、enum、typedef、およびメンバーへのポインター)。
オブジェクト名。
関数名。
宣言は、次のいずれかです。
block-declaration
function-definition
template-declaration
explicit-instantiation
explicit-specialization
linkage-specification
namespace-definition
ブロック内の宣言にブロック外で既に宣言されている名前が含まれている場合、前の宣言はブロックの実行中は隠されます。 ブロックの終了後、前の宣言が再び見えるようになります。
同じブロック内で同じ名前を複数回、宣言することはできません。
宣言と名前の可視性の詳細については、「宣言と定義」および「スコープ」を参照してください。