Без компоновки
Если объявление идентификатора в блоке не содержит описатель класса хранения extern
, этот идентификатор не имеет компоновки и уникален для функции.
Следующие идентификаторы не имеют компоновки:
идентификатор, объявленный в качестве нечто отличного от объекта или функции;
идентификатор, объявленный в качестве параметра функции;
идентификатор области доступности блока для объекта, объявленного без описателя класса хранения
extern
.
Если идентификатор не имеет компоновки, повторное объявление того же имени (в деклараторе или спецификаторе типа) на том же уровне области видимости приводит к появлению ошибки переопределения символов.