帮忙看看这个错误

unk__ghost 2010-04-08 02:30:56
#include<iostream>
#include<stdlib.h>
using namespace std;
#define error 0
#define ok 1
#define Max 10
typedef int elemtype;
typedef int status;
class Queue
{
private:
elemtype *base;
int front;
int rear;
public:
Queue(const int max);
int Queuelength();
status enqueue(elemtype e);
status dequeue(elemtype &e);
~Queue();
};
Queue::Queue(const int max=Max)
{
cout<<"kai"<<endl;
base=(elemtype *)malloc(max*sizeof(elemtype));
front=rear=0;
}
int Queue::Queuelength()
{
return (rear-front+Max)%Max;
}
status Queue::enqueue(elemtype e)
{
if((rear+1)%Max==front) return error;
base[front]=e;
rear=(rear+1)%Max;
return ok;
}
status Queue::dequeue(elemtype &e)
{
if(rear==front)
return error;
e=base[front];
front=(front+1)%Max;
return ok;
}
Queue::~Queue()
{
cout<<"已经完蛋"<<endl;
}
int main()
{
Queue qu1;
int i,e;
for(i=0;i<10;i++)
{
cin>>e;
qu1.enqueue(e);
}
while(qu1.Queuelength!=0)
{
qu1.dequeue(e);
cout<<e;
}
return 0;
}
//c:\documents and settings\administrator\yuy.cpp(53) : error C2512: 'Queue' : no appropriate default constructor available
//请问一下这是什么错误?
...全文
95 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
unk__ghost 2010-04-08
  • 打赏
  • 举报
回复
非常谢谢各位
ba_wang_mao 2010-04-08
  • 打赏
  • 举报
回复
期待专家解答
v2002750 2010-04-08
  • 打赏
  • 举报
回复
看不懂报错就查字典:没有合适的默认构造函数
greatsong 2010-04-08
  • 打赏
  • 举报
回复
public:
Queue(const int max = Max);

Queue::Queue(const int max/*=Max*/)
{
cout<<"kai"<<endl;
base=(elemtype *)malloc(max*sizeof(elemtype));
front=rear=0;
}
AlanBruce 2010-04-08
  • 打赏
  • 举报
回复

#include<iostream>
#include<stdlib.h>
using namespace std;
#define error 0
#define ok 1
#define Max 10
typedef int elemtype;
typedef int status;
class Queue
{
private:
elemtype *base;
int front;
int rear;
public:
Queue(const int max);
int Queuelength();
status enqueue(elemtype e);
status dequeue(elemtype &e);
~Queue();
};
Queue::Queue(const int max=Max)
{
cout<<"kai"<<endl;
base=(elemtype *)malloc(max*sizeof(elemtype));
front=rear=0;
}
int Queue::Queuelength()
{
return (rear-front+Max)%Max;
}
status Queue::enqueue(elemtype e)
{
if((rear+1)%Max==front) return error;
base[front]=e;
rear=(rear+1)%Max;
return ok;
}
status Queue::dequeue(elemtype &e)
{
if(rear==front)
return error;
e=base[front];
front=(front+1)%Max;
return ok;
}
Queue::~Queue()
{
cout<<"已经完蛋"<<endl;
}
int main()
{
Queue qu1;//你重载了构造函数,这里调用了默认构造函数,但是找不到你的默认构造函数的实现!!!
int i,e;
for(i=0;i<10;i++)
{
cin>>e;
qu1.enqueue(e);
}
while(qu1.Queuelength!=0)
{
qu1.dequeue(e);
cout<<e;
}
return 0;
}

operatingtuzi 2010-04-08
  • 打赏
  • 举报
回复
class Queue
{
private:
elemtype *base;
int front;
int rear;
public:
Queue(const int max);

这里要求参数

int main()
{
Queue qu1;

这里没写参数

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧