C++中优先级队列priority_queue中出现问题

我的代码如下,不知道什么原因,老是报错。#include<iostream>#include<queue>usingnamespacestd;typedefpair<do... 我的代码如下,不知道什么原因,老是报错。
#include<iostream>
#include<queue>
using namespace std ;
typedef pair<double,int> node;
int main()
{
priority_queue<node,vector<node>,greater<node>> q;
q.push (make_pair(66.6,1));
q.push (make_pair(11.1,3));
while (!q.empty ())
{
cout << q.top ().second << ' '<<q.top.first;
q.pop ();
}
cout << endl;
}
错误提示如下:
C:\Users\Administrator\Desktop\1.cpp(8) : error C2146: syntax error : missing ',' before identifier 'q'
C:\Users\Administrator\Desktop\1.cpp(8) : error C2065: 'q' : undeclared identifier
C:\Users\Administrator\Desktop\1.cpp(8) : error C2143: syntax error : missing '>' before ';'
C:\Users\Administrator\Desktop\1.cpp(9) : error C2228: left of '.push' must have class/struct/union type
C:\Users\Administrator\Desktop\1.cpp(10) : error C2228: left of '.push' must have class/struct/union type
C:\Users\Administrator\Desktop\1.cpp(12) : error C2228: left of '.empty' must have class/struct/union type
我已经找到:priority_queue<node,vector<node>,greater<node> > q;在最后一个>前加一个空格就可以了,但是还是不知道为什么要这样?
展开
 我来答
百度网友0b9b094
2015-03-07 · 超过10用户采纳过TA的回答
知道答主
回答量:25
采纳率:0%
帮助的人:17.1万
展开全部
一般“>>”符号不是在 cin 后面吗,会引起误解
不过最新的c++11标准允许了这种写法,你的编译器设置可能不支持c++11
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式