C++ 클래스의 템프리트 사용
글쓴이: simpid / 작성시간: 목, 2005/02/03 - 11:20오전
C++에서 평소 잘 안쓰던 템플리트를 사용하려는데 뭐가 잘 안되서 질문 드립니다.
template <typename T> clas base { base(void) ~base(void) }; template <typename T> base<T>::base(void) { } template <typename T> base<T>::~base(void) { } class derived : public base<int> { };
잘 되야 할것 같은데..
링크에러가 발생합니다.
derived 클래스의 생성자와 소멸자에서 base의 생성자와 소멸자를 찾을 수 없다는 링크 에러가 나오는군요.
컴파일 된거 보면 문법적으로는 괜찮은것 같은데...
뭐가 문제인지...
컴파일러는 Visual Studio.NET 2003 입니다.
답변 부탁드립니다.
Forums:
base 클래스의 코드가 헤더와 소스 파일로 나뉘어져 있나요? 그렇다면
base 클래스의 코드가 헤더와 소스 파일로 나뉘어져 있나요? 그렇다면 base의
멤버 함수가 정의된 소스 파일이 #include 되었는지 확인해 보세요.
ps 1. "clas", ";"가 빠져 있는 것 등은 코드를 올리기 전에 먼저 점검을 하셨었으면
좋았겠습니다.
ps 2. C++에서 인자가 없는 함수는 일반적으로 f(void)보다는 f()으로 나타냅니다.
[quote="doldori"]base 클래스의 코드가 헤더와 소스 파일
#include 는 되어 있습니다.
그렇기에 컴파일은 됐던거죠.
소스코드를 브라우저에서 바로 대충 짜다 보니까.. 세미콜론 같은 실수 있었습니다. ^^;
어째튼.. 아직 해결은 못하고 있습니다.
게시판에 올렸던 내용을 컴파일 해 보니까..
g++, vc 둘다 잘 됩니다.
제 원본 코드에 뭔가 실수한게 있는듯 합니다.
방금 점심먹고 있으니까.. 찾아봐야죠..
답변 감사합니다.
댓글 달기