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 {};
 
};
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);
}
Quand le programme arrive sur le push_back(), il sort "Exception lev�e*: violation d'acc�s en lecture. this a �t� 0x8."
Et m'am�ne sur le code de "list" indiquant que l'erreur se trouve sur cette ligne
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 
    }
sachant que :

_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.