작성
·
417
0
안녕하세요 강사님!
Stack 강의를 복습하던 도중에 궁금증이 생겨서 질문 드립니다.
강의와 직접적으로 관련된 내용이아니라 구글링으로 찾아보고 싶었는데 뭐라고 검색해야할지 잘 모르겠어서 질문을 청합니다.
Stack 구현을 헤더파일에 분리해서 구현을 해보던 도중에 (cpp파일은 따로 만들지 않았습니다)
강의 초반에 멤버 변수로 vector를 이용해서 만들때는 빌드가 되지 않았는데요( vector는 include해주었습니다)
-오류 내용으로는 _container식별자를 찾을수 없다는 내용이였습니다
<typename Container>을 추가한 버전으로는 헤더파일을 분리해도 빌드가 잘 됐습니다.
위에 버전으로 main함수가 있는 cpp파일에서 코드를 입력할 시에는 돌아갔는데 왜 헤더파일로 분리한 경우 안된것인지,
또 두번째 버전은 왜 빌드가 되었는지가 궁금합니다.
관련해서 공부할 내용이나 서적을 알려주시면 감사하겠습니다!!
답변 3
0
윗버전은 사용하는 쪽에서 namespace std; 를 알고 있어서 vector가 된 것 같고,
(ALgorithm.cpp에 using namespace std;가 있네요)
그냥 템플릿 파일에서는 모르니까 내부적으로 std::를 제외한 vector만 하면 인식이 안되는 것이죠