전심전력

웬만하면 코딩은 안올리려고했는데 ㅠㅠ 어쩔 수 없나보다...

이런건 공유해야한다...


학교에서 바이너리 트리를 클래스로 구현하는 것을 프로젝트로 내줬다.

학기 마지막 프로젝트라 간단히 구현을 완료하려고 하였다.

나는 템플릿을 거의 사용해본적이 없어서 ㅠㅠ

일단 int형 타입의 바이너리트리를 완성하여 잘 동작하는지를 먼저 확인하였는데...

여러 에러 끝에 다음과 같이 구현 완료... 일단 예제 코드는 잘돌아가는데..

헤더파일은 다음과 같이 구현했다. CPP 파일은 따로.. 구현했다.


근데 이것을 템플릿으로 바꾸자 에러가나는 것이었다.


해결방법은


템플릿 코드는 구현과 선언을 같은 파일에 두어야 합니다. 왜냐하면 실제로 템플릿 클래스를 사용하는 시점에서 코드가 생성되기 때문이죠. 헤더와 구현으로 나누지 말고 헤더에 구현까지 집어넣거나 cpp를 인클루드 하거나 하는 형태로 변경해 보세요. 


였다.