template 를 사용해서 linked list 를 구현해보려 하는데요,
아래와 같은 에러가 발생합니다.
어디가 잘못됐는지 지적과 설명좀 부탁 드릴게요.
undefined reference to List<int>::List().
undefined reference to List<int>::append(int)
undefined reference to List<int>::~List()
element.hpp
template <typename T>
class Element
{
private :
T value;
Element *mNextElemnet;
public :
Element();
Element(T);
~Element();
};
element.cpp
template <typename T>
Element<T>::Element()
{}
template <typename T>
Element<T>::Element(T val)
{ value = val }
template <typename T>
Element<T>::~Element()
{}
list.hpp
template <typename T> class Element;
template <typename T>
class List
{
private :
Element<T> *mHeader;
public :
List();
~List();
void append(T);
};
list.cpp
template <typename T>
List<T>::List()
{
mHeader = NULL;
}
template <typename T>
List<T>::~List()
{}
template <typename T>
void
List<T>::append(T element)
{
if(!mHeader) mHeader = new Element<T>(element);
else mHeader->add(element)
}
main.cpp
int main()
{
List<int> intList;
intList.append(1);
intList.append(2);
return 0;
}