Pb inclusions VS

magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 17 déc. 2004 à 09:25
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011 - 17 déc. 2004 à 13:59
Bj

je suis sur un gros projet ou on a fait une modification de fond
et maintenant le prog compile si il veut

ie en fonction de l'ordre ou il integre les fichiers

il me dit qu'une classe n'est pas définie...
alors que le header ne contient qu'un include, celui ou le projet est défini

le pb c'est que beaucoup plus profond
car la premiere classe que l'on défini y est utilisée...

Avec un exemple simplifié, j'essaie d'etre plus clair

une société
a
des sites
qui ont
des agents
qui ont des véhicules
qui sont associées
a un site

de plus
les agents sont associés à la société

Comme d'hab, je suis sous VC6
et en clair, je cherche un moyen de définir l'ordre des inclusions.

Merci
Magicalement,
Magic Nono: l'informagicien! 8-)

3 réponses

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
17 déc. 2004 à 11:47
bah soit jai pas compris le pb, soit c'est evident et ca metonne que tu y ait pas pensé.....
tu a un fichier CA qui contient la classe A et un fichier CB qui contient la classe B qui utilise A.....en incluant CA.h dans CB, ya pas de raison qu'il y ait de pbs...si tas bien mis tes directive d'inclusion conditionnelle, ca plantera pas et ya pas de raison que ca compile pas...
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
17 déc. 2004 à 13:55
évidemment, G fait ça

et les header st protégés contre les inclusions multiples

cependant, il arrive qu'il soit nécessaire de préciser

class CA;
#include "A.hpp"

class CB
{
..
private:
CA *pa;
};

Magic Nono: l'informagicien! 8-)
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
17 déc. 2004 à 13:59
alors, je ne sais pas pourquoi il faut préciser ce class CA mais sans ça, VS refuse de compiler

là sur mon pb
une soluce mais alors moins qu'élégante est de
compiler mon prj sans la variable pa
(un ifdef entourre les utilisation de CA)

jusqu'a ce qu'il me dise 0 error

puis de compiler avec les utilisations de la variable
sans sa déclaration que je commente a ce moment là

et enfin de recompiler le tout

et ça marche

mais c'est plus qu'insatisfaisant comme méthode

Magic Nono: l'informagicien! 8-)
0
Rejoignez-nous