Název místa typedef názvů
Názvy, které jsou deklarovány pomocí typedef obsadit stejný obor názvů jako ostatní identifikátory (kromě příkazu štítky).Proto jim nelze použít stejný identifikátor jako dříve prohlášené název s výjimkou prohlášení typu třídy.Příklad:
// typedef_names1.cpp
// C2377 expected
typedef unsigned long UL; // Declare a typedef name, UL.
int UL; // C2377: redefined.
Skrytí název pravidla, která se týkají dalších identifikátorů také řídit viditelnost názvy, které jsou deklarovány pomocí typedef.Následující příklad tedy právní jazyka C++:
// typedef_names2.cpp
typedef unsigned long UL; // Declare a typedef name, UL
int main()
{
unsigned int UL; // Redeclaration hides typedef name
}
// typedef UL back in scope