C++: pb mémoire avec affectation de vecteur
Fermé
mamok
Messages postés
4
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
26 mai 2005
-
26 mai 2005 à 08:58
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 26 mai 2005 à 15:13
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 26 mai 2005 à 15:13
7 réponses
http://www.cppreference.com/cppvector/all.html
Cette page devrait t'aguiller.
A priori il faut faire une assignation avec les iterateur, genre
TheMAtrice.assign(simulation_taux(Maturity,FloatingFrequency,NbOfPaths).begin(), simulation_taux(Maturity,FloatingFrequency,NbOfPaths).end());
Cette page devrait t'aguiller.
A priori il faut faire une assignation avec les iterateur, genre
TheMAtrice.assign(simulation_taux(Maturity,FloatingFrequency,NbOfPaths).begin(), simulation_taux(Maturity,FloatingFrequency,NbOfPaths).end());
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
26 mai 2005 à 10:25
26 mai 2005 à 10:25
Si tu testes ce programme tu t'apercevra que tu peux faire vector1=vector2. Ton problème doit venir d'ailleurs (objet de référence détruit avant la copie ?)
Por voir exactement où ça plante, si tu es sous linux, compile ton programme avec l'option -g et lance le debugger:
Comme ça tu sauras exactement à quel endroit ça plante.
Une solution pourrait être de passer par des pointeurs dans ton cas.
Bonne chance ;o)
#include <vector> #include <iostream> using namespace std; int main(){ vector<int> v; v.push_back(2); v.push_back(3); for(unsigned int i=0;i<v.size();i++) cout<<v[i]<<" "; cout<<endl; vector<int> w; w=v; for(unsigned int i=0;i<v.size();i++) cout<<w[i]<<" "; cout<<endl; return 0; }
Por voir exactement où ça plante, si tu es sous linux, compile ton programme avec l'option -g et lance le debugger:
$ g++ -W -Wall -g plop.cpp -o plop.exe $ gdb plop.exe gdb> r segfault gdb> bt
Comme ça tu sauras exactement à quel endroit ça plante.
Une solution pourrait être de passer par des pointeurs dans ton cas.
Bonne chance ;o)
mamok
Messages postés
4
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
26 mai 2005
26 mai 2005 à 12:20
26 mai 2005 à 12:20
Bon j'ai essayé l'histoire des assign et cela ne marche pas
toujours la meme erreur!!
mais je persévère
et je n'ai pas linux
toujours la meme erreur!!
mais je persévère
et je n'ai pas linux
mamok
Messages postés
4
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
26 mai 2005
26 mai 2005 à 13:49
26 mai 2005 à 13:49
Bon j'ai essayé l'histoire des assign et cela ne marche pas
toujours la meme erreur!!
mais je persévère
et je n'ai pas linux
toujours la meme erreur!!
mais je persévère
et je n'ai pas linux
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
26 mai 2005 à 13:51
26 mai 2005 à 13:51
Juste par curiosité essaie le constructeur par copie
vector<...> theMatrice = vector<...>(simulation_taux(Maturity,FloatingFrequency,NbOfPaths));
vector<...> theMatrice = vector<...>(simulation_taux(Maturity,FloatingFrequency,NbOfPaths));
mamok
Messages postés
4
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
26 mai 2005
26 mai 2005 à 14:47
26 mai 2005 à 14:47
Ca y est !
C'était juste une histoire d'indices
Merci encore
C'était juste une histoire d'indices
Merci encore
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
26 mai 2005 à 15:13
26 mai 2005 à 15:13
Alors clos le sujet :)