g ++错误:'vec'没有命名类型

Ama*_*ony 0 c++ stl vector

我正在尝试使用C++ STL向量.这是我的计划:

# include <iostream> 
# include <vector>

using namespace std; 

vector<int> vec; 

vec.push_back(10);
vec.push_back(5);
vec.push_back(1);

vector<int>::iterator itr1 = vec.begin();
vector<int>::iterator itr2 = vec.end();

for(vector<int>::iterator itr = itr1; itr != itr2; itr++){
    cout << *itr  << endl;  
}
Run Code Online (Sandbox Code Playgroud)

我的错误error: ‘vec’ does not name a type就行vec.push_back();.我无法看到我在这里做错了什么.

jua*_*nza 7

vec.push_back(42);只有函数内部才允许使用语句.例如,

#include <iostream> 
#include <vector>

int main()
{
  using namespace std; 

  vector<int> vec; 

  vec.push_back(10);
  vec.push_back(5);
  vec.push_back(1);

  vector<int>::iterator itr1 = vec.begin();
  vector<int>::iterator itr2 = vec.end();

  for(vector<int>::iterator itr = itr1; itr != itr2; itr++){
    cout << *itr  << endl;  
  }

}
Run Code Online (Sandbox Code Playgroud)