Croiser des classes [Résolu]

Signaler
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
-
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
-
Bonjour,

Je voudrais croiser deux classes.
En fait mettre une variable de A dans B et une de B dans A le tout en statique (sans pointeur).

Si je compile le code suivant :
class B;

class A
{
    private:
        B objetB;
}

class B
{
    private:
        A objetA;
}

int main()
{
    A variable;
}

J'obtient l'erreur suivante :
field `objetB' has incomplete type 


Avez-vous un remède sans transformer une de mes variable en pointeur ?

Merci d'avance et bonne prog,
@++

Victor

2 réponses

Messages postés
202
Date d'inscription
dimanche 18 mai 2003
Statut
Membre
Dernière intervention
6 mars 2010

Il est impossible que ça marche, car le compilo ne sait pas au moment de fabriquer la class A, combien d'octet prend la class B est inversement. seul les pointeurs peuvent résoudre le probleme car il font tous 4 octets (ou 8 en 64 bits).
Mais à mon avis il manque une classe C pour découpler tout ça.

Voili,Voilou
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
7
Bonjour,

Non il ne manque pas de de classe entre deux.
Ce sont des classes qui devaient pouvoir se convertir en une autre forme et mutuellement.

Mais je trouverai une autre solution.

Merci et bonne prog,
@++

Victor