在向量中打印数据 我在一段时间内没有做过C++。< /P>
我正试图得到一个向量来打印数据。我得到以下错误:在向量中打印数据 我在一段时间内没有做过C++。< /P>,c++,vector,C++,Vector,我正试图得到一个向量来打印数据。我得到以下错误: 分段故障(堆芯转储) 我正在使用在线编译器来运行代码 #include <iostream> // std::cout #include <algorithm> // std::for_each #include <vector> // std::vector void myfunctiontwo (int i) { // function: std::cout <<
分段故障(堆芯转储)
我正在使用在线编译器来运行代码
#include <iostream> // std::cout
#include <algorithm> // std::for_each
#include <vector> // std::vector
void myfunctiontwo (int i) { // function:
std::cout << ' ' << i;
}
void myfunction (std::vector<int> myvector) { // function:
for_each (myvector.begin(), myvector.end(), myfunctiontwo);
}
int main () {
// create a vector of vectors.
std::vector< std::vector<int> > myvector;
// add some data
myvector[0].push_back(10);
myvector[1].push_back(20);
myvector[2].push_back(30);
std::cout << "myvector contains:";
for_each (myvector.begin(), myvector.end(), myfunction);
std::cout << '\n';
return 0;
}
#包括//std::cout
#包括//标准::每个
#include//std::vector
void myfunctiontwo(int i){//函数:
std::cout你的问题是推回:
myvector[0].push_back(10);
myvector[1].push_back(20);
myvector[2].push_back(30);
向量myvector[0]
、myvector[1]
和myvector[2]
尚不存在。如果希望myvector
以3个向量开头,可以这样创建:
std::vector< std::vector<int> > myvector(3);
std::vectormyvector(3);
您可以从以下链接中看到http://www.cplusplus.com/reference/vector/vector/operator[]/,运算符[]是访问元素
这就是不能用它插入元素的方式。要插入对象,请使用Assign,推回并插入应该是std::vectormyvector(3)?@PoiXen:是的,对不起,我是瞎的。但是看一下:-)更好,myvector={{10},{20},{30}
:-)@KerrekSB是的。不过,从他们格式化模板参数的方式来看,我怀疑他们使用的是C++03。