Instructions de déclaration (C++)
Les instructions de déclaration introduisent de nouveaux noms dans la portée actuelle. Ces noms peuvent être :
des noms de types (classe, struct, union, enum, typedef et pointeur vers membre) ;
des noms d'objets ;
des noms de fonctions.
Les déclarations peuvent être d'une forme quelconque suivante :
block-declaration
function-definition
template-declaration
explicit-instantiation
explicit-specialization
linkage-specification
namespace-definition
Si une déclaration dans un bloc introduit un nom qui est déjà déclaré hors du bloc, la déclaration précédente est masquée pendant la durée du bloc. Une fois le bloc terminé, la déclaration précédente est de nouveau visible.
Plusieurs déclarations du même nom dans le même bloc ne sont pas conformes.
Pour plus d'informations sur les déclarations et le masquage de noms, consultez les articles Déclarations et définitions et Portée.