C++ Probleme d'appel récursive avec this
Victoire3
-
victoire3 -
victoire3 -
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
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:
- C++ Probleme d'appel récursive avec this
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Appel privé - Guide
- Double appel - Guide
- Je peux appeler mais pas recevoir d'appel sur mon portable - Forum Téléphones & tablettes Android
- Comment reecouter un appel sur iphone - Forum Huawei
2 réponses
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 ]
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 ]