#c #reference #language-lawyer
#c #ссылка #язык-юрист
Вопрос:
Есть цитата из начала рабочего проекта раздела 3.4.3.2 / 3 N3797:
Учитывая X::m (где X — объявленное пользователем пространство имен) или given ::m (где X — глобальное пространство имен), если S(X, m) — пустое множество, программа неправильно сформирована. В противном случае, если S(X, m) содержит ровно один элемент, или если контекст ссылки представляет собой using-declaration (7.3.3), S(X, m) — это требуемый набор объявлений m .
Что означает контекст ссылки в этом случае?
Комментарии:
1. «Идентификатор пространства имен может предоставлять контекст (область действия в информатике) имени, и термины иногда используются взаимозаменяемо. Однако контекст имени может также определяться другими факторами, такими как местоположение, в котором оно встречается, или синтаксис имени «. ( en.wikipedia.org/wiki/Namespace#Namespace_versus_scope )
Ответ №1:
Контекст, в котором «:: m» или «X:: m» используется для обозначения чего-либо.
В данном конкретном случае, если код имеет форму using ::m
или using X::m;
, которые используют-объявления.