Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

titides Les boutiques de Montgallet : seco Achat - Vente Divers : erico92 et 32 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

manipulation de std::vector problème de mémoire

 
n°17202
angediablo
Profil : Jeune recrue
Posté le 29-07-2006 à 01:37:46  profilanswer
 

Bonjour a tous!
 
Je suis confronte a de serieux problemes avec la manipulation des std::vector en c++ avec Visual .Net 2003. J' ai developpe un algorithme qui doit gerer des listes d objets assez complexes j utilise donc des vector pour les stocker.
 
Jusque la pas trop de probleme mais par la suite j ai tente d integrer mon algorithme a un autre projet que j ai adapte et les methodes communiquent par le biais de std::vector< std::vector<int> > de maniere iterative. Mais mon programme fini par s arreter pour cause de probleme de memoire de ce type:
 
 
Citation:
Microsoft C++ exception: std::bad_alloc @ 0x0012ecac.  
 
 
Y a t-il un probleme connu avec le fait d envoyer d envoyer en parametres des pointeurs sur des std::vector et de retourner des objets de type std::vector par le biais de methodes d'objet ou de methode statique.
 
Voici un exemple de code contenue dans une methode appele de facon iterative:
 
 
Code :
        std::vector<int> mvRef;
 int num4x4Blocks = width/4*height/4;
 blocks4x4.reserve(num4x4Blocks);
 mvRef.reserve(2*num4x4Blocks);
       
        //
        //
        // Insertion des valeurs dans mvRef a l'aide de differentes
        // methodes
        //
        //
 
         
        return mvRef;    // Ceci cree une erreur de type memory a la 2 eme
                              // iteration
Notez qu'il suffit de modifier un bout de code pour que l erreur apparaissent dans une autre methode qui a le meme genre de procede
 
 
 
Toutes vos suggestions sont les bienvenues...


Aller à :
Ajouter une réponse