Je continue d'obtenir cette erreur de segment mais je n'ai aucune idée d'où elle vient. Désolé, je suis encore nouveau pour le codage.Erreur de segmentation dans la fonction récursive, stockage du résultat dans un vecteur
#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);
}
Et apparemment, je dois ajouter plus de mot parce que ma question est principalement du code.
Sur quelle ligne est le défaut? –
Passez votre vecteur par référence, pas par valeur. – PaulMcKenzie