【发布时间】:2017-01-05 21:58:31
【问题描述】:
我想将一些 int 向量存储到一个向量中,所以首先我初始化一个向量类型向量,然后迭代开始到结束,并将 int 数字存储到从 0 到 4 的每个子向量中,如下代码:
std::vector<std::vector<int> > v(12);
void fun_1(std::vector<int> a )
{
for (int i = 0; i < 5; ++i)
{
a.push_back(i);
}
}
int main()
{
for (int i = 0; i < 12; ++i)
{
fun_1(v[i]);
}
cout<<v[0].at(2);
}
所以在我这样做之后,总是有一个分段错误,我认为是因为子向量仍然是空的,它们没有被分配,所以我想知道如何修改它以达到我的目标?感谢您的任何想法。
【问题讨论】:
-
就像你做的那样。将
cout放在函数内部。 -
需要通过引用将向量传递给函数。
-
@latedeveloper 谢谢!问题解决了