он не содержит упоминаний Т.
Автор admin
Среда, 20 мая 2009 11:32
он не содержит упоминаний Т. Если бы функция д() имела параметры, относящиеся к типу класса, определенного в другом пространстве имен, то механизм ADL начал бы работать, так как в области видимости нет определения д() с параметрами. В итоге для вызова устанавливается соответствие с глобальным объявлением д(). • Вызов this->h() является уточненным; уточнение (this) соответствует текущему объекту, относящемуся к типу X, который, в свою очередь, зависит от имени Y из-за наследования. В X не существует функции h(), поэтому поиск выполняется в области видимости базового класса X, то есть Y. Данное имя является зависимым и потому рассматривается на стадии специализации при наличии надежной информации о Y (включая все потенциальные специализации, которые могли быть написаны после определения X), поэтому в конечном счете вызывается Y::h(). • Объявления tl и t2 являются зависимыми. • Вызов operator«(cout,tl) зависим, потому что tl относится к типу Т. Поиск выполняется позднее, когда Т соответствует int, а оператор « для int находится в std. • Неуточненный вызов swap() зависим, потому что его аргум
Комментарии закрыты.
Последние комментарии