C++队列

Wuxie2014 2014-11-01 05:32:59
VS2005C++ 用STL标准类库写队列,用landing 调用函数时,为什么调用不了,下方显示没有可用的附加信息?或.左边类型不是类、结构体、联合?
#include <iostream>
#include <queue>
#include "time.h"
#include "math.h"
using namespace std;

struct plane
{
int id; //飞机编号
int tm; //到达队列时间
};

queue <plane> landing(6) ; //等待降落的飞机(环形)队列,实际长度=Size-1
queue <plane> takeoff(6); //等待起飞的飞机(环形)队列,实际长度=Size-1

landing.
...全文
88 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
uniquever 2014-11-02
  • 打赏
  • 举报
回复
引用 2 楼 Wuxie2014 的回复:
引用 1 楼 u012637838 的回复:
queue没有构造函数queue(int),
那怎么用它来定义那个有长度的循环队列呢?网上有讲是这么定义的呀。。
push()啊,一个一个push()。不然就自己写一个吧。
Wuxie2014 2014-11-01
  • 打赏
  • 举报
回复
引用 4 楼 hnwyllmm 的回复:
#include <iostream> #include <queue> #include "time.h" #include "math.h" using namespace std; struct plane { int id; //飞机编号 int tm; //到达队列时间 }; int main(void) { vector<plane> a(6) ; vector<plane> b(6) ; queue <plane, vector<plane> > landing(a) ; // queue的类声明需要一个Container 类型,默认为deque<T> queue <plane, vector<plane> > takeoff(b); //等待起飞的飞机(环形)队列,实际扯Size-1 landing.empty() ; return 0 ; } queue的构造函数也只支持声明类的时候用的Container类型的变量,或者空构造函数。
引用 4 楼 hnwyllmm 的回复:
#include <iostream> #include <queue> #include "time.h" #include "math.h" using namespace std; struct plane { int id; //飞机编号 int tm; //到达队列时间 }; int main(void) { vector<plane> a(6) ; vector<plane> b(6) ; queue <plane, vector<plane> > landing(a) ; // queue的类声明需要一个Container 类型,默认为deque<T> queue <plane, vector<plane> > takeoff(b); //等待起飞的飞机(环形)队列,实际扯Size-1 landing.empty() ; return 0 ; } queue的构造函数也只支持声明类的时候用的Container类型的变量,或者空构造函数。
引用 4 楼 hnwyllmm 的回复:
#include <iostream> #include <queue> #include "time.h" #include "math.h" using namespace std; struct plane { int id; //飞机编号 int tm; //到达队列时间 }; int main(void) { vector<plane> a(6) ; vector<plane> b(6) ; queue <plane, vector<plane> > landing(a) ; // queue的类声明需要一个Container 类型,默认为deque<T> queue <plane, vector<plane> > takeoff(b); //等待起飞的飞机(环形)队列,实际扯Size-1 landing.empty() ; return 0 ; } queue的构造函数也只支持声明类的时候用的Container类型的变量,或者空构造函数。
soga.....自己重写了一个queue类。。
羽飞 2014-11-01
  • 打赏
  • 举报
回复
#include <iostream> #include <queue> #include "time.h" #include "math.h" using namespace std; struct plane { int id; //飞机编号 int tm; //到达队列时间 }; int main(void) { vector<plane> a(6) ; vector<plane> b(6) ; queue <plane, vector<plane> > landing(a) ; // queue的类声明需要一个Container 类型,默认为deque<T> queue <plane, vector<plane> > takeoff(b); //等待起飞的飞机(环形)队列,实际扯Size-1 landing.empty() ; return 0 ; } queue的构造函数也只支持声明类的时候用的Container类型的变量,或者空构造函数。
bobo_包子 2014-11-01
  • 打赏
  • 举报
回复
please refer to http://en.cppreference.com/w/cpp/container/queue/queue
Wuxie2014 2014-11-01
  • 打赏
  • 举报
回复
引用 1 楼 u012637838 的回复:
queue没有构造函数queue(int),
那怎么用它来定义那个有长度的循环队列呢?网上有讲是这么定义的呀。。
uniquever 2014-11-01
  • 打赏
  • 举报
回复
queue没有构造函数queue(int),

64,637

社区成员

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

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