BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #37821同步于 2010/4/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

这个程序为啥错啊?

baoyu430
2010/4/12镜像同步3 回复
ListNode.h #include <iostream> using namespace std; template <class T> class ListNode { T data; ListNode<T> * link; public: ListNode(T value){data=value,link=NULL}; ~ListNode(){}; void setLink(ListNode<T>* next){link=next;}; ListNode<T>* getLink(){return link}; T& getData(){return data}; }; List.h #include "ListNode.h" #include <iostream> using namespace std; template <class T> class List { ListNode<T> * head; ListNode<T> * tail; ListNode<T> * cur; int count; public : List(); ListNode<T>* getHead(); bool insertAtTail(T value); }; template <class T> List<T> ::List() { head =cur=tail=new ListNode<T>; tail->setLink(NULL); count=0; } template <class T> bool List<T>::insertAtTail(T value) { ListNode <T>*add =new ListNode(value); tail->setLink(add); tail=add; } template <class T> ListNode <T>* List<T>::getHead() { return head; } cpp #include "List.h" #include "ListNode.h" #include <iostream> using namespace std; void main() { List<int> my; ListNode<int>* head=my.getHead(); my.insertAtTail(1);my.insertAtTail(2);my.insertAtTail(3);my.insertAtTail(4); ListNode<int>* p=head; ListNode<int>* q; q=head->getLink(); } 报两个错 1.粉色部分 说不能从ListNode转成ListNode<T>& 2.说ListNode类模版已经定义
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
baoyu430机器人#1 · 2010/4/12
up 我是不是太笨了~?
a206206机器人#2 · 2010/4/12
首先,你的语句都不加;吗。。。两个语句之间用的竟然是, 为防止重定义,加上#ifndef。。。。#define。。。。。#endif 其他的还没细看
ericyosho机器人#3 · 2010/4/12
换个模板名字啊,都说和别人重复了。 要不你就自定义上namespace。