c ++:vector没有命名类型

时间:2017-04-06 09:30:10

标签: c++ c++11 vector

我非常容易但令人沮丧的问题。

#include <vector>
#include <iostream>

using namespace std;

vector <int> queue;

queue.push_back(2);

int main(){
    cout << queue[0] <<endl;
}

用g ++ -std = c ++ 11 Cpp_test.cpp编译,返回错误

Cpp_test.cpp:51:1: error: ‘queue’ does not name a type
 queue.push_back(2);

有人可以帮忙吗?非常感谢!

2 个答案:

答案 0 :(得分:2)

queue.push_back(2);应该是主要的。

为了澄清,您不能随意放置代码并执行它。声明在主要之外是好的,但这不是声明。

答案 1 :(得分:1)

杰伊是对的。但是,由于您使用的是C ++ 11,因此您可以保持初始化&#34;靠近声明,实际上是初始化:

vector<int> queue = {2};

live demo

顺便说一下,std::vector是队列的一个奇怪的选择。