Pointeur et changement d'adresse
Bonjour tout le monde!
J'ai un problème que je n'arrive pas à m'expliquer.
J'ai une classe A qui contient un pointeur sur une classe B. Cette classe B contient un pointeur sur la classe A...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
class A
{
B* m_bPtr;
public:
A() {
B(this);
}
};
class B
{
A* m_aPtr;
public:
B(A* aPtr): m_aPtr(aPtr) {}
}; |
Mon problème est le suivant:
Au cours de l'exécution de mon code, pendant une opération qui ne touche ni à la classe A ni à la classe B, le pointeur de la classe A situé dans la classe B change sans aucune raison.
Sans parler d'un problème (évident?) de conception, je ne comprends ce genre de comportement.
Avez-vous des idées?
Merci d'avance.