Cтраница 2
Сам шаблон функции может быть перегружен несколькими способами. Шаблон функции может также быть перегружен, если мы введем другую не шаблонную функцию с тем же самым именем, но другим набором параметров. [16]
Компилятор выполняет некий процесс согласования, чтобы определить, какой экземпляр функции соответствует данному вызову. Сначала компилятор пытается найти и использовать функцию, которая точно соответствует по своему имени и типам параметров вызываемой функции. Если на этом этапе компилятор терпит неудачу, то он ищет шаблон функции, с помощью которого он может сгенерировать шаблонную функцию с точным соответствием типов параметров и имени функции. Если такой шаблон обнаруживается, то компилятор генерирует и использует соответствующую шаблонную функцию. Обратите внимание, что компилятор ищет шаблон, полностью соответствующий вызываемой функции по типу всех параметров; автоматическое преобразование типов не производится. [17]
Компилятор выполняет некий процесс согласования, чтобы определить, какой экземпляр функции соответствует данному вызову. Сначала компилятор пытается найти и использовать функцию, которая точно соответствует по своему имени и типам параметров вызываемой функции. Если на этом этапе компилятор терпит неудачу, то он ищет шаблон функции, с помощью которого он может сгенерировать шаблонную функцию с точным соответствием типов параметров и имени функции. Если такой шаблон обнаруживается, то компилятор генерирует и использует соответствующую шаблонную функцию. Обратите внимание, что компилятор ищет шаблон, полностью соответствующий вызываемой функции по типу всех параметров; автоматическое преобразование типов не производится. [18]