排队运行错误

#include<bits/stdc++.h>
using namespace std;
int n,ac;
queueq;
priority_queue<int,vector,greater >pq;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>ac;
if(ac==1){
cin>>ac;
q.push(ac);
}
else if(ac==2){
if(!pq.size()){
cout<<pq.top()<<endl;
pq.pop();
}
else{
cout<<q.front()<<endl;
q.pop();
}
}
else{
while(!q.empty()){
pq.push(q.front());
q.pop();
}
}
}
}

哥们能在queue,vector和greater后面加个"<数据类型>"不?