titides Les boutiques de Montgallet : seco Achat - Vente Divers : erico92 et 32 utilisateurs inconnus
angediablo Profil : Jeune recrue | 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...
|
