이 seg fault가 계속 발생하지만 어디에서 왔는지 전혀 알지 못합니다. 죄송합니다. 아직 코딩을 처음 사용합니다.벡터에 결과를 저장하는 재귀 함수의 세그먼트 오류
#include <iostream>
#include <vector>
using namespace std;
vector<int> map(vector<int> v, vector<int>::iterator i, vector<int> result) { //set i = v.begin() in main
if (i==v.end()) {
return result;
} else {
result.push_back((*i)*(*i));
i++;
map(v,i,result);
}
}
int main() {
vector<int> v;
vector<int> result;
for (int i=0;i<20;i++) {
v.push_back(i);
}
vector<int>::iterator it=v.begin();
result=map(v,it,result);
}
분명히 내 질문은 주로 코드이기 때문에 더 많은 단어를 추가해야합니다.
어떤 선이 오류입니까? –
값을 기준으로하지 않고 참조로 벡터를 전달하십시오. – PaulMcKenzie