我将一个 vector 指针传递给另一个使用该指针推送数据的函数:
void foo(vector<pair<int,int>> * vp){
vp->push_back(pair<int,int>(1,1)); //causes segfault
}
void bar(vector<pair<int,int>> *vp = NULL){
foo(vp);
}
push_back 导致段错误。
最佳答案
如果您调用 bar
时不带参数,则 vp 将为 NULL
。然后 foo
被传递一个 NULL
指针,因此,这条指令 vp->push_back
将产生段错误。
关于c++ - 将 vector 指针传递给函数会导致段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6335608/