C++ 改错...大哥们帮帮忙..

来源:百度知道 编辑:UC知道 时间:2024/09/22 23:33:23
template<typename T>
struct DoubleNode{
T data;
DoubleNode<T> *left, *right;
};

template<typename T>
class Double{
public:
Double(){LeftEnd = RightEnd = 0;}
~Double();
int Length()const;
bool Find(int k,T& x)const;
Double<T>& Delete(int k,T& x);
Double<T>& Insert(int k,const T& x);
void Output(ostream& out)const;
private:
DoubleNode<T> *LeftEnd, *RightEnd;
};

template<typename T>
Double<T>::~Double()
{
DoubleNode<T> *p;
while(LeftEnd){
p = LeftEnd->right;
delete LeftEnd;
LeftEnd = p;
}
}

template<typename T>
int Double<T>::Length()const
{
DoubleNode<T> *p = LeftEnd;
int len = 0;
while(p){<

能编译通过了。
加了包含语句和main函数。

#include<iostream>
using namespace std;

template<typename T>
struct DoubleNode{
T data;
DoubleNode<T> *left, *right;
};

template<typename T>
class Double{
public:
Double(){LeftEnd = RightEnd = 0;}
~Double();
int Length()const;
bool Find(int k,T& x)const;
Double<T>& Delete(int k,T& x);
Double<T>& Insert(int k,const T& x);
void Output(ostream& out)const;
private:
DoubleNode<T> *LeftEnd, *RightEnd;
};

template<typename T>
Double<T>::~Double()
{
DoubleNode<T> *p;
while(LeftEnd){
p = LeftEnd->right;
delete LeftEnd;
LeftEnd = p;
}
}

template<typename T>
int Double<T>::Length()const
{
DoubleNode<T> *p = LeftEnd;
int len = 0;
while(p){
len