본문 바로가기
개발/Visual C++

error C2995: 함수 템플릿이 이미 정의되었습니다. 오류 대처 방법

by belitino 2014. 8. 2.

저의 경우는 템플릿을 사용하다가 템플릿을 사용하는 클래스의 헤더 파일에 템플릿의 header와 code를 #include 하고 다른 부분의 코드에서 템플릿의 header와 code를 다시 include하는 과정에서 오류가 발생하였습니다.

 

템플릿의 경우 code까지 include를 시켜야 해서 발생한 문제였는데요, 템플릿을 사용하는 클래스의 헤더에는 템플릿의 헤더만 include하도록 수정하니 문제가 없었습니다.

 

그리고, 아직 원인은 모르겠는데 템플릿 관련 코드를 수정한 후에는 프로젝트를 단순 빌드(F7)나 솔루션 다시 빌드를 하면 영향을 안 미치고 솔루션 정리 후에 다시 빌드를 해야 영향을 미치네요.