我正在尝试在.cpp文件中使用std::vector<int>
。但是它只打印任何内容,尽管它应该打印一些文本。代码很简单,但是我不知道为什么它不能正常工作。
我正在使用Mingw-w64。我尝试了g++
和g++ -std=c++11
,但是它不起作用。如果我删除了<vector>
和所有相关内容,则可以使用cout进行打印。所以应该是向量问题,对此有任何想法吗?
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> g1(5,20);
for (int i = 1; i <= 5; i++)
g1.push_back(i);
cout << "Output of begin and end: ";
for (auto i = g1.begin(); i != g1.end(); ++i)
cout << *i << " ";
}
编辑:
对于删除的矢量部分,代码如下所示。与向量g1相关的所有代码均已删除,并且可以正常工作。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
cout << "Output of begin and end: ";
}
感谢@Mirko的建议,添加-static编译选项适用于原始代码。