尝试创建单链接列表类时,我遇到了使用模板的问题。假设我有以下标题:
#ifndef __LIST__
#define __LIST__
template <class Type>
struct Node
{
Type data;
Node *next;
};
template <class Type>
class List
{
private:
Node<Type> *head;
public:
List<Type>();
void Add(const Type & _type);
void Insert(const Type & _type, int _index);
void Remove(int _index);
};
#endif
实施:
#include "List.h"
template <class Type>
List<Type>::List()
{
head->next = NULL;
}
template <class Type>
void List<Type>::Add(const Type & _type)
{
}
template <class Type>
void List<Type>::Insert(const Type & _type, int _index)
{
}
template <class Type>
void List<Type>::Remove(int _index)
{
}
int main()
{
List<int> myList;
int a = 3;
myList.Add(a);
}
我只是尝试编译以确保我的语法正确,但我收到两个链接器错误说明:
main.obj:错误LNK2019:函数_main中引用的未解析的外部符号“public:void __thiscall List :: Add(int const&amp;)”(?Add @?$ List @ H @@ QAEXABH @ Z) p>
main.obj:错误LNK2019:未解析的外部符号“public:__thiscall List :: List(void)”(?? 0?$ List @ H @@ QAE @ XZ)在函数_main中引用