C++队列问题求解,这个代码有什么问题?

#includeusingnamespacestd;template(classTintsize)classqueue{Tx[size];intcurrent,front... #include
using namespace std;
template(class T int size)
class queue {
T x[size];
int current,front,rear;
public: queue(){ current=0;front=0;rear=0; }
void insert(T a) { if(current==size){cout<<"队满";exit(); }x[rear]=a;rear=rear++%size;current++; }
void front(){ if(current==0){ cout<<"队空";exit(); } front=front++%size;current--; }
void show(){ for(int i=front; i<rear; i++) cout<<x[i];cout<<endl; }
};
void main() {
cout<<"此程序测试队列"<<endl;
queue A();
size=10;
A.insert(6);
A.front();
A.show();
}
展开
 我来答
红酒难喝
2013-11-29 · 超过53用户采纳过TA的回答
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:124万
展开全部
你模板中的x没有进行初始化
追问
怎么初始化呢?可以把修改的代码贴上来嘛?
追答
构造函数里需要具体实例化一下T x[]=new T[X];
而且你的模板中根本没有定义size这个变量,只不过声明了size为一个int型变量,在类中的size根本没有传值进去,你在main中写的size就是个main的变量,和类中的size不是一个变量,所以你需要在类中增加一个size属性或者给方法增加size形参输入
百度网友c55a291
2013-11-29
知道答主
回答量:13
采纳率:0%
帮助的人:3.9万
展开全部
#include后面什么也没写
stl模板template后面是用<>不是()
你试试
追问
这是提问题时复制错误了,问题不在前三行,主要是类和main中有错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式