Bonjour,
voila plusieurs jours que j'ai un soucie de Violation d'acc�s en lecture dans une std::list d'objet.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 //Obj2.h #include <iostream> #include <list> class Obj2 { public: Obj2(); ~Obj2(); list<Obj1> getListObj1() { return listObj1; }; void SetListObj1(list<Obj1> liste); void Methode(); private: list<Obj1> listObj1 {}; };Quand le programme arrive sur le push_back(), il sort "Exception lev�e*: violation d'acc�s en lecture. this a �t� 0x8."
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9 //Obj2.cpp #include "Obj2.h" void Obj2::Methode() { Obj1 obj1(param1, param2, param3); listObj1.push_back(obj1); }
Et m'am�ne sur le code de "list" indiquant que l'erreur se trouve sur cette ligne
sachant que :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 void push_back(const _Ty& _Val) { _Emplace(_Mypair._Myval2._Myhead, _Val); // ici est l'erreur }
_Mypair = allocator
est de type std::_Compressed_pair<std::allocator<std::_List_node<Obj1,void *>>,std::_List_val<std::_List_simple_types<Obj1>>,1>
_Mypair._Myval2 = {_Myhead=??? _Mysize=??? }
est de type std::_List_val<std::_List_simple_types<Obj1>>
_Val = {param1=param1 param2=param2 ...}
est de type const Obj1&
this = 0x0000000000000008 { size=??? }
est de type std::list<Obj1,std::allocator<Obj1>> *
Je crois comprendre que mon prog n'a pas acc�s au info de list<Obj1> listObj1 {} et ne connais donc pas sa taille et ne peux pas l'augmenter pour ajouter une valeur, je ne comprend pas pourquoi.
Merci de m'avoir lu,
bonne fin de journ�e.
Partager