Définir une structure pour tout un projet - C++ - Programmation
Marsh Posté le 14-06-2005 à 17:27:28
dans un .h bien gardé comme il faut. fais une recherche sur le forum
Marsh Posté le 14-06-2005 à 17:44:37
C ce que je viens de faire mais il me dit error C2371... 'blabla' : redefinition : different basic types...
Dois-je appeler d'autres header dans ce meme .h?
Marsh Posté le 14-06-2005 à 17:49:13
En C++, c'est pas plutôt :
struct blabla {
int x;
int y;
};
Marsh Posté le 14-06-2005 à 17:50:07
Merci, c ce que je fais... (tu parles d'un bisounours...)
Marsh Posté le 14-06-2005 à 17:52:01
ben tu t'y prends comme un pied, cette semaine meme y a eu encore un sujet là dessus
Marsh Posté le 14-06-2005 à 17:53:12
_TomTom_ a écrit : C ce que je viens de faire mais il me dit error C2371... 'blabla' : redefinition : different basic types... |
Il faut protéger tes en-têtes avec des pragmas, pour éviter qu'elles ne soient incluses plusieurs fois.
Le meilleur exemple se trouve dans les fichiers *.h standards, ils ont tous cette structure :
Code :
|
Marsh Posté le 14-06-2005 à 17:54:48
Elmoricq a écrit : Il faut protéger tes en-têtes avec des pragmas, pour éviter qu'elles ne soient incluses plusieurs fois. |
les pragmas ne sont pas standards
Marsh Posté le 14-06-2005 à 17:56:23
Taz a écrit : les pragmas ne sont pas standards |
Je ne dois pas utiliser le bon terme.
Un #ifndef c'est une directive de compilation, donc un pragma, ou bien je me plante dans le vocabulaire ?
EDIT : j'ai trouvé ma réponse avec un "define pragma" dans Google :
Citation : A preprocessor directive that is not specified by the ISO standard. Pragmas often control actions of the compiler and linker. A pragma always begins with a number sign (#). |
Donc le terme n'est effectivement pas du tout correct. Mes excuses.
Marsh Posté le 14-06-2005 à 18:00:25
tu te plante de vocabulaire. il existe des pragma (#pragma) dont l'immense majorité son spécifique à un compilateur donné (à part 2/3 mais c'est bien tout), et après les directives classique #define/include/if/etc
Marsh Posté le 14-06-2005 à 17:24:21
Bonjour,
Je travaille sur projet (MFC) ayant plusieurs fichiers (bien évidemment) et plusieurs d'entre eux utilisent une structure de ce type :
typedef struct {
int x;
int y;
} blabla;
En admettant qu'il y a deux fichiers f1 et f2 qui utilisent cette structure,
je n'arrive pas a savoir ou je dois la déclarer, car je me retrouve tout le temps avec des erreurs du type already define in f1.obj qd je compile
Qq pourrait-il m'aider?
Je reste a votre disposition pour plus de précisions