报错了什么意思啊,求帮助

问题遇到的现象和发生背景
#include<iostream>
using namespace std;
const int MaxSize = 1000;
template<typename DataType>
struct Node
{
    DataType data;
    Node<DataType> *next;
};
template<typename DataType>
class LinkList
{
public:
    LinkList();
    LinkList(DataType a[], int n);
    void PrintList();
private:
    Node<DataType> *first;
};
template<typename DataType>
LinkList<DataType>::LinkList()
{
    first = new Node<DataType>;
    first->next = nullptr;
}
template<typename DataType>
void LinkList<DataType>::PrintList()
{
    Node<DataType> *p = first->next;
    while (p != nullptr)
    {
        cout << p->data << "\t";
        p = p->next;
    }
    cout << endl;
}

int main()
{
    int a[MaxSize], n, count = 0, i = 0, m;
    cout << "请输入链表的数据,以-1结束:" << endl;
    while (cin >> m && m != -1)
    {
        a[i] = m;
        count++;
        i++;
    }
    LinkList<int> L(a, count);
    cout << "创建成功!" << endl;
    cout << "这个链表数据为:" << endl;
    L.PrintList();

    return 0;
}


问题相关代码,请勿粘贴截图
1>------ 已启动生成: 项目: Project1, 配置: Debug Win32 ------
1>1.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall LinkList<int>::LinkList<int>(int * const,int)" (??0?$LinkList@H@@QAE@QAHH@Z),该符号在函数 _main 中被引用
1>D:\visualstudioc++\Project1\Debug\Project1.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>已完成生成项目“Project1.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

我的解答思路和尝试过的方法
我想要达到的结果

报错的意思是,这个构造函数你只有函数申明,没有代码实现。
第15行这个有参构造函数你没有实现啊,函数的代码呢

    LinkList(DataType a[], int n);

这个构造函数你没有定义。。。。。。。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632