#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);
这个构造函数你没有定义。。。。。。。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!