책에 나온대로 했는데도 에러나 나네요..
왜그런지 알고싶습니다
저도 템플릿을 잘 알지는 못하지만.. 템플릿은 확장을 해야되기 때문에, 멤버 함수들을 전부 헤더파일에 넣어야 하는것 아닌가요?
올려주신 파일에 stack.cpp의 내용을 전부 stack.h로 옮긴후에, stack.cpp를 제거하고 컴파일하니 컴파일이 되는군요.
더 잘 아시는 분이 답변 해 주시길..
추신 템플릿 선언과, 템플릿 구현을 별도의 파일에 놓으려면, export라는 키워드를 사용해야 한다는군요.
추신2 비쥬얼C 6.0에서는 export키워드를 지원하지 않는것 같군요. 어쩔수 없이 전부 헤더파일에 넣어야 하겠군요.
export 키워드를 지원하는 C++ 컴파일러는 현재까지는 단 하나, Comeau 의 것밖에 없는 걸로 알고 있습니다. 다른 점에 있어서는 표준 C++ 을 웬만큼 지원하고 있는 G++ 도 export 만은 지원하지 못하고 있죠.
export 가 실질적으로 봉쇄돼 있는 현 상태에서는, 답은 몽땅 헤더에 집어넣는 것 뿐입니다. (뭐 결국은 같은 거지만 #include "stack.cpp" 같은 처방을 할 수도 있긴 있지요.)
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
템플릿 멤버함수는..
저도 템플릿을 잘 알지는 못하지만..
템플릿은 확장을 해야되기 때문에, 멤버 함수들을 전부 헤더파일에 넣어야 하는것 아닌가요?
올려주신 파일에 stack.cpp의 내용을 전부 stack.h로 옮긴후에, stack.cpp를 제거하고 컴파일하니 컴파일이 되는군요.
더 잘 아시는 분이 답변 해 주시길..
추신 템플릿 선언과, 템플릿 구현을 별도의 파일에 놓으려면, export라는 키워드를 사용해야 한다는군요.
추신2 비쥬얼C 6.0에서는 export키워드를 지원하지 않는것 같군요. 어쩔수 없이 전부 헤더파일에 넣어야 하겠군요.
export
export 키워드를 지원하는 C++ 컴파일러는 현재까지는 단 하나, Comeau 의 것밖에 없는 걸로 알고 있습니다. 다른 점에 있어서는 표준 C++ 을 웬만큼 지원하고 있는 G++ 도 export 만은 지원하지 못하고 있죠.
export 가 실질적으로 봉쇄돼 있는 현 상태에서는, 답은 몽땅 헤더에 집어넣는 것 뿐입니다. (뭐 결국은 같은 거지만 #include "stack.cpp" 같은 처방을 할 수도 있긴 있지요.)
댓글 달기