C++ c++;:vector不命名类型
我提出了一个非常简单但令人沮丧的问题C++ c++;:vector不命名类型,c++,c++11,vector,C++,C++11,Vector,我提出了一个非常简单但令人沮丧的问题 #include <vector> #include <iostream> using namespace std; vector <int> queue; queue.push_back(2); int main(){ cout << queue[0] <<endl; } 有人能帮忙吗?非常感谢 队列。向后推(2)应该进入主目录 为了澄清这一点,您不能随意放置代码并让其执行。声明
#include <vector>
#include <iostream>
using namespace std;
vector <int> queue;
queue.push_back(2);
int main(){
cout << queue[0] <<endl;
}
有人能帮忙吗?非常感谢 队列。向后推(2)代码>应该进入主目录
为了澄清这一点,您不能随意放置代码并让其执行。声明在main之外是可以的,但那不是一个声明。队列代码>应该进入主目录
为了澄清这一点,您不能随意放置代码并让其执行。声明在main之外很好,但这不是一个声明。Jay是正确的。但是,由于您使用的是C++11,因此您可以通过实际将“初始化”设置为初始化,使其靠近声明:
vector<int> queue = {2};
向量队列={2};
()
顺便说一下,std::vector
对于队列来说是一个奇怪的选择。Jay是正确的。但是,由于您使用的是C++11,因此您可以通过实际将“初始化”设置为初始化,使其靠近声明:
vector<int> queue = {2};
向量队列={2};
()
顺便说一下,std::vector
对于队列来说是个奇怪的选择。谢谢!我实际上是在尝试排序函数。我没有注意到我在main之外写代码。谢谢!我实际上是在尝试排序函数。我没有注意到我在main之外写代码。我没有注意到我在main之外写代码。这与向量类型无关。这不是问题所在,但是使用名称空间std
编译器可能会在全局名称空间中看到std::queue
,并混淆queue
是该模板的名称还是对象的名称。摆脱使用命名空间std的代码>。名称空间的存在是有原因的,把它们吹走最终会烧死你。@PeteBecker谢谢你的评论!我没有注意到我写的东西超出了主流。这与向量类型无关。这不是问题所在,但是使用名称空间std
编译器可能会在全局名称空间中看到std::queue
,并混淆queue
是该模板的名称还是对象的名称。摆脱使用命名空间std的代码>。名称空间的存在是有原因的,把它们吹走最终会烧死你。@PeteBecker谢谢你的评论!