• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

클레스 템플릿 헤더파일 분리시 주의 사항이 있나요?

23.09.06 23:15 작성 조회수 319

0

안녕하세요 강사님!

Stack 강의를 복습하던 도중에 궁금증이 생겨서 질문 드립니다.

강의와 직접적으로 관련된 내용이아니라 구글링으로 찾아보고 싶었는데 뭐라고 검색해야할지 잘 모르겠어서 질문을 청합니다.

Stack 구현을 헤더파일에 분리해서 구현을 해보던 도중에 (cpp파일은 따로 만들지 않았습니다)

강의 초반에 멤버 변수로 vector를 이용해서 만들때는 빌드가 되지 않았는데요( vector는 include해주었습니다)

-오류 내용으로는 _container식별자를 찾을수 없다는 내용이였습니다

캡처.JPG

<typename Container>을 추가한 버전으로는 헤더파일을 분리해도 빌드가 잘 됐습니다.캡처.JPG

위에 버전으로 main함수가 있는 cpp파일에서 코드를 입력할 시에는 돌아갔는데 왜 헤더파일로 분리한 경우 안된것인지,

또 두번째 버전은 왜 빌드가 되었는지가 궁금합니다.

관련해서 공부할 내용이나 서적을 알려주시면 감사하겠습니다!!

 

 

답변 3

·

답변을 작성해보세요.

0

imageㅎㅎㅎㅎ

윗버전은 사용하는 쪽에서 namespace std; 를 알고 있어서 vector가 된 것 같고,
(ALgorithm.cpp에 using namespace std;가 있네요)
그냥 템플릿 파일에서는 모르니까 내부적으로 std::를 제외한 vector만 하면 인식이 안되는 것이죠

이창주님의 프로필

이창주

질문자

2023.09.07

아 헉... 그렇군요 감사합니다.ㅠ

너무 당연하게 std::를 안쓰는것에 익숙해져서 생각지도 못했네요

감사합니다!!

0

image
저는 너무 잘 되는데요.
혹시 에러가 어떻게 났었나요

이창주님의 프로필

이창주

질문자

2023.09.07

아 넵넵 강사님 Stack.h에 주석 안쳐진 Stack클래스가 있고 밑에 주석처리된 Stack클래스가 있습니다

그부분은 잘되고 그 밑에 주석친 부분 있잖아요 그걸 주석을 풀고

위에 문제가 없는 부분은 주석을 쳐보시면 에러가 날겁니다! 그에러가 왜 나는지를 모르겠습니다

0

글쎄요 위 부분만으로는 알기가 힘드네요

해결이 안 되면 프로젝트 압축후 rookiss@naver.com 로 보내주세요

이창주님의 프로필

이창주

질문자

2023.09.07

아 넵 메일 보내 드렸습니다. 감사합니다!