Справочное руководство по C++

Компоновка


Имя в файловой области видимости, не описанное явно как static, является общим для каждого файла многофайловой программы. Таковым же является имя функции. О таких именах говорится, что они внешние. Каждое описание внешнего имени в программе относится к тому же объекту (), функции (), классу (), перечислению () или значению перечислителя (). Типы, специфицированные во всех описаниях внешнего имени должны быть идентичны. Может быть больше одного определения типа, перечисления, inline-функции () или несоставного const (), при условии, что определения идентичны, пояляются в разных файлах и все инициализаторы являются константными выражениями (). Во всех остальных случаях должно быть ровно одно определение для внешнего имени в программе. Реализация может потребовать, чтобы составное const, использованное там, где не встречено никакого определения const, должно быть явно описано extern и иметь в программе ровно одно определение. Это же ограничение может налагаться на inline-функции.



Содержание раздела