我没有系统的学过c++,现在想使用类模板这个特性,但编译不通过,好像使用不了头文件,麻烦大家帮忙看看,下面是部分代码
报错内容
error C2065: “LinkList”: 未声明的标识符
error C2062: 意外的类型“int”
error C2065: “ll”: 未声明的标识符
头文件
#ifdef LinkList_H #define LinkList_H template <typename T> class LinkList { public: struct node { T element; node *next; }; node *initList(int lenght) { node *head=new node; node *p=head; p->element=0; for (int i = 0; i < lenght-1; i++) { p->next = new node; p=p->next; } p->next=NULL; return head; } void insertList(node *&list, int n, T element) { node *p=list; for (int i = 0; i < n-1; i++) { p=p->next; } node *Node=new node; Node->next=p->next; Node->element=element; p->next=Node; } #endif
cpp文件
#include"LinkList.h" #include<iostream> using namespace std; int main() { LinkList<int> ll; LinkList::node *list = ll.initList(4); ll.insertList(list, 4, 9); return 0; }
C++ 中的模板分为类模板和函数模板,类模板的模板参数必须提供,函数模板的模板参数一般可以省略。
一周热门 更多>