错误:“c ++中模板类名'队列'中的争论太少”

时间:2016-02-25 07:53:48

标签: c++ stl

我是新手,我想在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行模板类名'队列'中的争议太少。”

2 个答案:

答案 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

Live Demo

答案 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();
}