C++: pb mémoire avec affectation de vecteur

mamok Messages postés 4 Date d'inscription   Statut Membre -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai un souci lors de l'éxecution de mon main.
ERREUR: unhandled exception "nomduprojet":0xC00000.. Access violation
J'ai une erreur lors de l'éxecution de la ligne:
theMatrice = simulation_taux(Maturity,FloatingFrequency,NbOfPaths);


où simulation_taux renvoie un vecteur et thematrice est un vecteur aussi

Je croyais que l'on pouvait dire Vecteur1=vecteur2?Non?

Merci d'avance à ceux qui pourront m'aiguiller vers la solution.

Morgan

7 réponses

  1. Nashouille
     
    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());
    0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    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 ?)

    #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)
    0
  3. mamok Messages postés 4 Date d'inscription   Statut Membre
     
    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
    0
  4. mamok Messages postés 4 Date d'inscription   Statut Membre
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Juste par curiosité essaie le constructeur par copie
    vector<...> theMatrice = vector<...>(simulation_taux(Maturity,FloatingFrequency,NbOfPaths));
    0
  7. mamok Messages postés 4 Date d'inscription   Statut Membre
     
    Ca y est !
    C'était juste une histoire d'indices

    Merci encore
    0
  8. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Alors clos le sujet :)
    0