함수 템플릿 인스턴스화 흐름
함수 템플릿은 호출 시점의 인자 타입을 기준으로 실제 함수 후보를 만들어냅니다.
템플릿 선언
타입 매개변수와 반환 타입 관계를 먼저 고정합니다.
타입 추론
호출 인자를 보고 T, U 같은 매개변수를 채웁니다.
인스턴스화
추론된 타입으로 실제 함수 시그니처를 생성합니다.
오버로드 비교
일반 함수와 다른 템플릿 후보까지 함께 비교합니다.
추론 실패
반환 타입만으로는 T를 추론할 수 없는 경우가 많습니다.
명시 지정
복잡한 변환이 끼면 add<int>(...)처럼 타입을 고정합니다.
호출 인스턴스
호출식에서 어떤 실제 함수가 만들어지고 선택되는지 설명할 수 있으면 충분합니다.