我是新手,我想在C ++中使用STL实现一个简单的队列
#include<iostream>
#include<stdio.h>
#include<queue>
int main(){
std::queue <int> myqu;
int myarr[10] = { 0};
for(int i = 0; i < 10; i++){
myarr[i] = i*2;
myqu.push(myarr[i]);
}
for(int i = 0; i <10; i++){
cout << myqu.pop(myarr[i])<<"\n";
}
getchar();
}
在编译时,我收到此错误“第7行模板类名'队列'中的争议太少。”
答案 0 :(得分:2)
<input id = "firstName" onkeyup="copyText()" />
<Input id = "siteName" value =".co.in" />
<script type="text/javascript">
function copyText(){
var firstName = document.getElementById('firstName').value ;
document.getElementById('siteName').value = firstName + '.co.in' ;
}
</script>
完全没问题。似乎错误信息不对。但是,您的代码中还有其他一些问题。这是std::queue <int> myqu;
的{{1}}:
pop
这是你的最终计划:
queue
答案 1 :(得分:1)
队列创建已经正确,但是如果编译器仍然抱怨(我怀疑),你可以添加默认参数alse
另外,queue.pop()不返回任何内容,所以你不能打印任何内容,编译器也应该抱怨...
using namespace std;
int main(){
// mostly not needed
std::queue <int,std::deque<int> > myqu;
int myarr[10];
for(int i = 0; i < 10; i++){
myarr[i] = i*2;
myqu.push(myarr[i]);
}
while(!myqu.empty())
{
cout << myqu.front()<<"\n";
myqu.pop();
}
// Note the quete will be empty here
getchar();
}