CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

用模板实现链表的插入问题,提示三个错误! 请指教!!!!

楼主wlfcamal()2005-04-01 13:57:47 在 C/C++ / C++ 语言 提问

#include<iostream>  
  using   namespace   std;  
   
  template   <class   T>  
  class   LList  
  {  
  protected:  
                  struct   Node  
  {  
        T   Data;       //   error   C2079:   “LList<T>::Node::Data”使用未定义的   class“T”  
                        Node   *   Next;  
  }     ;  
       
                    Node   *   first;    
          int   NumberNodes;  
   
  public:  
  LList(){     NumberNodes=0;         Node   *   first=NULL;}  
  ~LList();  
  int   Length();  
  void   Insertfirst(T   el);  
                   
  };  
     
   
   
  LList   <class   T>::~LList()  
  {  
  if(   first!=NULL)  
  {  
  delete   first;  
                            first=NULL;  
  }  
           
  NumberNodes=0;  
   
  }  
   
  int   LList   <class   T>::Length()  
  {  
    return     NumberNodes;  
  }  
   
  void   LList   <class   T>::Insertfirst(T     e)  
  {  
    Node*   newnode=new   Node;  
  newnode->Data=e;     //   error   C2440:   “=”   :   无法从“T”转换为“int”  
   
  if(NumberNodes==0)    
                  first->Data=e;           //       error   C2440:   “=”   :   无法从“T”转换为“int”  
   
                  else  
  newnode->Next=first->Next;  
  first->Next=newnode;  
                   
  NumberNodes++;  
  }  
   
   
  int   main()  
  {  
  LList<int>   L;  
  L.Insertfirst(2);  
  L.Insertfirst(3);  
  L.Length();  
  getchar();  
  return   0;  
  }    
   
  我感觉很可能是类内嵌套了结构,所以结构了面的T编译器不能识别,请问怎么解决!!!!!!  
  问题点数:20、回复次数:2Top

1 楼szws(克米帅)回复于 2005-04-01 14:23:42 得分 5

类成员函数实现的时候  
  也要加:  
  template   <class   T>  
  吧Top

2 楼szws(克米帅)回复于 2005-04-01 14:26:12 得分 15

template   <class   T>  
  class   LList  
  {  
  protected:  
                  struct   Node  
  {  
        T   Data;       //   error   C2079:   “LList<T>::Node::Data”使用未定义的   class“T”  
                Node   *   Next;  
  }     ;  
       
                    Node   *   first;    
          int   NumberNodes;  
   
  public:  
  LList(){     NumberNodes=0;         Node   *   first=NULL;}  
  ~LList();  
  int   Length();  
  void   Insertfirst(T   el);  
                   
  };  
     
   
   
  template   <class   T>  
  LList   <T>::~LList()  
  {  
  if(   first!=NULL)  
  {  
  delete   first;  
                            first=NULL;  
  }  
           
  NumberNodes=0;  
   
  }  
   
  template   <class   T>  
  int   LList   <T>::Length()  
  {  
    return     NumberNodes;  
  }  
   
  template   <class   T>  
  void   LList   <T>::Insertfirst(T     e)  
  {  
    Node*   newnode=new   Node;  
   
  newnode->Data=e;      
  if(NumberNodes==0)    
                  first->Data=e;            
                  else  
  newnode->Next=first->Next;  
  first->Next=newnode;  
                   
  NumberNodes++;  
  }Top

相关问题

  • 模板中插入图片的问题??
  • 怎样在EXCEL工作簿中截取“插入基于自定义模板的新表”命令?
  • 请教如何使用OWC在工作表中插入图片以及调用EXCEL模板的问题
  • 建表时提示table'mysql.proc'doesn't exist,向表中插入数据页不行
  • 使用临时表插入数据提示的错误,怎么解决?
  • 求销售报表模板
  • 求救,为什么用freeform插入记录,系统提示库表不存在.(100分)
  • 使用MSDN时,提示插入光盘?
  • 插入表请教。
  • 列表模板类双向链表

关键词

  • template
  • null
  • numbernodes
  • llist
  • insertfirst
  • newnode
  • node
  • next
  • error c
  • length

得分解答快速导航

  • 帖主:wlfcamal
  • szws
  • szws

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo