//출처는 코드누리 입니다.
-> 정답은 int형이 출력됨.
-> 링크에러가 발생함.
왜냐하면 컴파일러가 int 함수를 호출해야 겠다고 판단을 함,
그런데 정의부가 없기 때문에 발생하는 것임.
이와 동일한 문제가 발생할 수 있는 코드가 있음.
template과 friend를 사용할 경우
-> 눈으로 보기에는 이상없지만, 빌드 해보면?
: 링크에러가 발생함...
왜냐하면?
클래스 내의 friend의 T는 이미 int로 형이 결정되므로, 템플릿 함수가 아닌
멤버함수로 변하게 됨.
앞서 확인한 결과대로 int형에 대한 정의부가 구현되어 있지 않아서
발생하는 것임.
-> 더 효율 적인 것은 1번이다. 왜냐하면 2번의 경우는 불필요하게 다대다 방식임.
1번의 경우
2번의 경우
-> 출력함수는 해로운 템플릿 함수를 나타낸다는 의미임.
지금도 복잡하지만, 여러 번 보도록 하자.
안녕하세요 혹시 메일을 알 수 있을까요