Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在向量中打印数据 我在一段时间内没有做过C++。< /P>_C++_Vector - Fatal编程技术网

在向量中打印数据 我在一段时间内没有做过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。