Croiser des classes

Résolu
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 - 24 sept. 2009 à 23:09
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 - 25 sept. 2009 à 13:46
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

mezaya Messages postés 202 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 6 mars 2010
25 sept. 2009 à 01:11
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
3
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
25 sept. 2009 à 13:46
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
0
Rejoignez-nous