"Inlining"과 "Duplication Symbols"는 다른 것입니다. 그만큼 inline
키워드는 여러 정의를 명시 적으로 허용 할 수 있으므로 (예 : 일 정의 규칙에서 면제) 플랫폼 (컴파일러 및 링커)은이를 처리하고 제거하는 방법을 알아야합니다.
(이것은 헤더에 정의 된 클래스 멤버 기능의 경우 항상 발생합니다.)
당신이 원한다면 코드 생성 이를 위해 기능의 주소를 어딘가에 저장할 수 있습니다.
auto fp = my_inline;
이렇게하면 컴파일러가 주소를 제공 할 수 있도록 기능의 정의를 생성해야합니다. 그러나 모든 번역 장치 에서이 작업을 수행하더라도 링크 시간에 중복 제거되므로 링커 오류가 발생하지 않습니다. 모든 정의가 동일해야한다는 요구 사항은 이것이 잘 정의되어 있는지 확인합니다.