17 Templates [temp]

17.6 Name resolution [temp.res]

17.6.4 Dependent name resolution [temp.dep.res]

17.6.4.2 Candidate functions [temp.dep.candidate]

Для вызова функции, где postfix-expression- зависимое имя, функции-кандидаты находятся с использованием обычных правил поиска ([basic.lookup.unqual], [basic.lookup.argdep]), за исключением того, что:

  • Для части использования поиска unqualified name lookupнайдены только объявления функций из контекста определения шаблона.

  • Для части поиска с использованием связанных пространств имен ([basic.lookup.argdep]) обнаруживаются только объявления функций, найденные либо в контексте определения шаблона, либо в контексте создания экземпляра шаблона.

Если вызов был бы неправильно сформирован или нашел бы лучшее совпадение, если бы при поиске в связанных пространствах имен учитывались все объявления функций с внешней связью, введенные в этих пространствах имен во всех единицах перевода, а не только с учетом этих объявлений, найденных в определении шаблона и шаблоне контекстов создания экземпляров, тогда программа имеет неопределенное поведение.