c++类模板使用 财富值66

2016-04-03 01:04发布

我没有系统的学过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; } 
1条回答

C++ 中的模板分为类模板函数模板,类模板的模板参数必须提供,函数模板的模板参数一般可以省略。

#include"LinkList.h" #include<iostream>  using namespace std; int main() {     //LinkList ll;     LinkList<int> ll;  // 提供模板参数     LinkList<int>::node *list = ll.initList(4);  // 同上     ll.insertList(list, 4, 9);     return 0; }                              

一周热门 更多>