C++ Probleme d'appel récursive avec this

Fermé
Victoire3 - 11 mai 2011 à 22:06
 victoire3 - 12 mai 2011 à 21:11
Bonjour,

Bonjour, j'ai codé un mécanisme qui ne fonctionne pas mais je ne comprends pas pourquoi?? voici ce que çà donne (très simplifié):

Je crée une classe qui effectue le traitement global et regroupant les traitement génériques, et d'autre(s) classe(s) les traitement spécifiques:

La classe CToto déclare des objets des classes de traitement spécifique, et c'est là le problème, les classe spécifiques utilisent les méthodes génériques, donc je fais passé en argument un type "CToto":

#include "Titi.h"

class CToto //générique et global
{
public:
CToto();

void TraitementGlobal();
void TraitementGenerique();

CTiti mTiti;
};

//Dans le CPP
void CToto::TraitementGlobal()
{
mTiti.TraitementSpecifique(*this);
}

void CToto::TraitementGenerique()
{
//Traitement générique
}


Puis je crée plusieurs autres classe dédiées à un traitement spécifique:
#include "CToto"
class CTiti //spécifique
{
public:
CTiti ();

void TraitementSpecifique(CToto& toto) //ICI PROBLEME! il ne reconnais pas le type??
{
toto.TraitementGenerique();
}

};

Si quelqu'un aurait la sympathie de m'éclairer sur le problème, ou bien me proposer une autre solution..

Merci d'avance, j'attends avec impatience vos réponses!:)

Victoire

A voir également:

2 réponses

this est un pointeur. donc *this est un pointeur sur pointeur.
0
Oui c'est cela oui......*this n'est pas "un pointeur sur un pointeur" espèce d'âne!! c'est le fait de déréferencer!

Je crois que tu n'as absolument pas compris mon problème!

Voici la solution: problème de référence croisé de header
//prédéclarer la classe
class CToto.h;

class CTiti
{....};

puis dans le source .cpp, il faut mettre l'inclusion
#include "Toto.h"

donc [ RESOLU ]
0