클래스 템플릿을 헤더파일에 작성해야 하는 이유

2019. 8. 23. 16:32PL/C++

main.cpp에 다른 소스파일에 작성되어 있는 템플릿의 정보를 알아야 하는 경우가 있다. 템플릿의 특수성 때문에 템플릿을 사용할 때는 헤더파일뿐만 아니라 컴파일 시점에서 소스파일 내용까지 알아야 한다. 따라서, 전처리에서 이미 템플릿 내용이 포함되어야만 한다. 서로 다른 소스파일에서 컴파일 될 때는 파일 단위로 컴파일되기 때문에 해당 시점에서는 main에서 템플릿 소스파일을 참조할 수가 없기 때문이다

 

해당 문제를 해결하는 문제는 총 2가지 해법이 있다

1. 헤더파일에서 템플릿 선언을 하는 것

2. 소스파일에서 하되, main에서 .cpp 파일을 inlcude하는 것

'PL > C++' 카테고리의 다른 글

c++에서의 struct  (0) 2019.08.24
연산자 오버로딩과 관련한 카페 질문  (0) 2019.08.23
const 정리  (0) 2019.08.23
Lvalue와 Rvalue  (0) 2019.08.23
const 반환의 의미  (0) 2019.08.22