• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

[13:00] class 자체를 explicit instantiation 하는 경우 class 키워드가 없어도 문제가 발생하지 않습니다.

21.03.01 19:37 작성 조회수 125

0

안녕하세요, 

함수의 정의 부분을 header 파일에서 cpp파일로 분리하는 과정에서 필요한 explicit instantiation에 대한 질문입니다.

강의에서는 각각의 함수에 대해 explicit instantiation을 하기 힘들기 때문에 class자체를 explicit instantiation하는 방법으로 아래 코드와 같이 교수님께서 보여주시는데요.

따라작성하며 복습 중 실수로 'class' 키워드없이 'template MyArray<char>;'로 작성하여도 문제없이 실행이 되었습니다. 관련해서 설명해주시면 감사하겠습니다. 항상 답변해주셔서 감사드립니다.

template class MyArray<char>;

답변 1

답변을 작성해보세요.

3

안소님의 프로필

안소

2021.03.02

글쎄요 저도 이유에 대해선 잘 모르겠습니다..! ㅠㅠ 

디버깅을 해보니 class 를 빼더라도 MyArray.cpp 에 있는 print()를 잘 찾아가 실행하는 것을 보면, MyArray 라는 이름을 가진건 MyArray 클래스 하나 뿐이라 잘 찾아주는건가 싶기도 한데 구글링 해도 관련 자료가 나오지 않아서 저도 자세한 이유는 모르겠네요.