中易网

C++类模版——“LinkedListQueue”: 类 模板 已经声明为非类 模板

答案:2  悬赏:70  
解决时间 2021-02-21 06:30
#include
using namespace std;

template
class Data
{
friend class LinkedListQueue;
friend class ArrayQueue;
private:
T v;
Data * next;
public :
Data( T n )
{
v = n;
next = NULL;
}
};

template
class Queue{
private:
T nullv;
public:
Queue( T Va )
{
nullv = Va;
}
virtual T poll()=0; //返回第一个值
virtual bool offer(T value)=0; //插入

};

template
class LinkedListQueue : public Queue
{
private:
Data * front;
Data *rear;
public:
LinkedListQueue()
{
}

T poll()
{
Date * temp;
if( front )
{
temp=front;
T data=temp->v;
front=front->next;
delete temp;
return data;
}
else return nullv;
}

bool offer(T value)
{
Data * temp=front;
Data * op= new Data(value);
if( nullv == value )return false;
if(temp == NULL)
{
front=rear=op;
return true;
}
while(temp)
{
if(temp->v == value)
return false;
}
rear->next = temp;
rear = temp;
return true;
}
};

template
class ArrayQueue : public Queue
{
private:
T* list;
int Maxsize;
int top;
public:
T poll()
{
if(!isempty())
{
return list[top];
}
else return NULL;
}
bool offer(T rop)

if(!isfull())
{
list[++top]=rop;
return true;
}
else return false;


bool isEmpty() //是否为空
{
if(top==-1)return true;
return false;
}
bool deFront(T &item) //返回顶端元素并删除
{
if(!isempty())
{
item= list[top--];return true;
}
else return false;
}
bool isfull()//是否满
{
if(top>=Maxsize)
return true;
return false;
}
virtual ~Stack()
{ delete []list;
}

};

e:\专业\test\test4\myqueue.h(79): error C2989: “LinkedListQueue”: 类 模板 已经声明为非类 模板
1> e:\专业\test\test4\myqueue.h(7) : 参见“LinkedListQueue”的声明
1>e:\专业\test\test4\myqueue.h(35): error C3857: “LinkedListQueue”: 不允许使用多个 模板 参数列表
1>e:\专业\test\test4\myqueue.h(131): error C2989: “ArrayQueue”: 类 模板 已经声明为非类 模板
1> e:\专业\test\test4\myqueue.h(8) : 参见“ArrayQueue”的声明
1>e:\专业\test\test4\myqueue.h(82): error C3857: “ArrayQueue”: 不允许使用多个 模板 参数列表
1>e:\专业\test\test4\main.cpp(13): error C2512: “LinkedListQueue”: 没有合适的默认构造函数可用
最佳答案
类模板声明有冲突!
全部回答
你好! 我也遇到这种问题,是不是因为两个模板类的模板申明之间有冲突? 我的回答你还满意吗~~
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
有招兼职的吗
雅泰装饰材料地址在哪,我要去那里办事
我使用电动剃须刀 刮胡子 刮完 刮胡子的地方
飞尝不可在什么地方啊,我要过去处理事情
丹青画室怎么去啊,有知道地址的么
俗话说:天作孽...,人作孽...
铁公鸡什么样的人
大手牵小手十月妈咪旗舰店地址在哪,我要去那
为什么选择要选择尹美人?
我的匹诺曹比萨店(红旗南路店)在什么地方啊,
有多少人买过耐吉斯狗粮啊~~
包名堂怎么去啊,有知道地址的么
征集厕所创意标语,就是挂在厕所门口,告诉你
荆州同盈合金材料公司这个地址在什么地方,我
梦见自已肚子里长了一个硬块要开刀
推荐资讯
荣诚酒业商行在什么地方啊,我要过去处理事情
岚泉批发超市在哪里啊,我有事要去这个地方
两台电脑都是WIN7旗舰版,但一台创建了家庭组
暴家峪村怎么去啊,有知道地址的么
苹果电脑Mac怎么恢复出厂系统
做慕斯用的蛋糕和普通蛋糕有什么区别么?
一什么谷填词语
C语言中以读写方式打开一个文件,用fseek移动
通达电器这个地址在什么地方,我要处理点事
怎样消除樟脑丸味
寺后路在什么地方啊,我要过去处理事情
隧道口限速80测速81是超速行驶吗要扣多少分
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?