Instruções de declaração (C++)
Instruções de declaração introduzem novos nomes no escopo atual.Esses nomes podem ser:
Type names (class, struct, union, enum, typedef, and pointer-to-member).
Nomes de objeto.
Nomes de função.
Declarações podem ser qualquer um dos seguintes:
block-declaration
function-definition
template-declaration
explicit-instantiation
explicit-specialization
linkage-specification
namespace-definition
Se uma declaração em um bloco apresenta um nome que já está declarado fora do bloco, a declaração anterior está oculta pela duração do bloco.Após o encerramento do bloco, a declaração anterior novamente está visível.
Várias declarações de mesmo nome no mesmo bloco são ilegais.
Para obter mais informações sobre como ocultar o nome e declarações, consulte declarações e definições e escopo.