C++作用域的一个简单有关问题

C++作用域的一个简单问题

#include <vector>
#include <iostream>
int main()
{
using namespace std;
vector<int> a;
}

上面那段代码中如果不加 using namespace std; 就会出现错误,为什么?这句代码的意思不就是限定作用域么?

------解决方案--------------------
vector在std作用域里, 你想用vector  必然要using namespace std,或者
using std::vector; 
------解决方案--------------------
using namespace std;
指明std域下的类型你可以直接用,而不用指定。否则就需要std::cout  std::vector这样来使用
------解决方案--------------------
语法规定。
vector这样的符号,要么using namespace std;全部暴露出来,
要么using std::vector;只暴露一个vector,
要么直接定义变量的时候用full qualified name,即std::vector<int> a;