【发布时间】:2017-04-06 09:30:10
【问题描述】:
我提出了一个非常简单但令人沮丧的问题。
#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);
有人可以帮忙吗?非常感谢!
【问题讨论】:
-
我没有注意到我已经在 main 之外写了。与向量类型无关。
-
这不是问题,但是使用
using namespace std;您会冒着编译器还会在全局命名空间中看到std::queue的风险,并且对queue是否是该模板或您的对象的名称。摆脱using namespace std;。命名空间的存在是有原因的,将它们吹走最终会烧死你。 -
@PeteBecker 感谢您的评论!