Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4856 connectés 

 


Dernière réponse
Sujet : [C/C++] Inclusions de fichiers
frenchkiss sinon si tu peux (a condition que a soit pas attibut de b ou inversement)
faire un  
class A;
dans B
 
et un class B; dans A
une forward reference only quoi , come il dir Rational rose.
le mieux c est d eviter au max les ncludes .
mais de toute facon c clair toujours proteger comme le disait biface
 
FK

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
frenchkiss sinon si tu peux (a condition que a soit pas attibut de b ou inversement)
faire un  
class A;
dans B
 
et un class B; dans A
une forward reference only quoi , come il dir Rational rose.
le mieux c est d eviter au max les ncludes .
mais de toute facon c clair toujours proteger comme le disait biface
 
FK
BENB

oliv5 a écrit a écrit :

Haaaaaa, ok, tu fous le include dans ce bins conditionel. Et c'est censé passer, non ? Parce que je n'ai plus de pb de compilation, mais plein de pb de linkage (une trentaine pour erte exact, et je sais pas d'ou ca vient).




 
Ton probleme montre une grave probleme de conception.
Il n'est pas normal que A ait besion de B et B de A...
Decoupes tes fichiers en trois .h pour les headers, .i pour les inlines et definitions templates et .c (ou cpp) pour les codes.
et normalement ton probleme devrai disparaitre a moins que tu ne tentes d'inclure une classe A dans une classe B qui inclue une classe A ce qui est impossible...

oliv5 Haaaaaa, ok, tu fous le include dans ce bins conditionel. Et c'est censé passer, non ? Parce que je n'ai plus de pb de compilation, mais plein de pb de linkage (une trentaine pour erte exact, et je sais pas d'ou ca vient).
BifaceMcLeOD Sinon, tu peux utiliser des protections d'inclusions. D'ailleurs, c'est toujours conseillé en C/C++.
 
Au tout début de A.h, tu mets :
#ifndef _A_H_
#define _A_H_
 
// Le reste de A.h, y compris ceci:
#include "B.h"
 
...
 
Et tu le termines par :
#endif // _A_H_
 
Et dans B.h:
#ifndef _B_H_
#define _B_H_
 
// Le reste de B.h, y compris ceci:
#include "A.h"
 
...
 
#endif // _B_H_
 
Ca devrait faire ce que tu veux.
SoWhatIn22 Ben ca depend pas mal de ou exactement tu as besoin de tout ca.
 
Deja c'est rare que l'on fasse des #include "machin.cpp", a part pour les classes templates.
 
Sinon, si les fichiers n'ont besoin de se connaitre que dans les .cpp et pas dans les headers, et ben tu fais les inclusions dans les .cpp et pas dans le header, et reciproquement.
 
Et pis ben si même avec ca, ca ne fonctionne pas, alors faut rassembler dans un même fichier.
oliv5 Rigolez pas. J'arrive pas me demerder avec les inclusions de fichiers sources et en-tete en c++.
Je m'explique : j'aimerais qu'un fichier source A connaisse les declaration d'un fichier source B (#include "fichierb.cpp" ) et que ce dernier connaisse les declarations du fichier A. Bref, il faut qu'ils se connaissent.  
Je pourrais les mettre dans le même fichier, mais ce serait bordélique, car il y a deja pas mal de ligne dans chacun.
Y a t il un moyen simple ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)