Bonjour à tous,
je suis confronté à un problème de conflit d'include dans la gestion de mes classes.
J'ai deux classes : NSWindow et NSControl
Le programme se présente de cette manière ci :
Code :
- class NSWindow;
- class NSControl
- {
- NSControl(NSWindow *pWindow);
- // etc, etc ...
- }
- class NSWindow : public std::vector<NSControl*>
- {
- // etc, etc ...
- }
|
Maintenant j'aimerais bien placer ma classe NSControl dans un fichier NSControl.h et NSWindow dans un fichier NSWindow.h mais quand je fais cela j'ai plein d'erreurs à la compilation.
Voici l'exemple de ce que je veux faire :
NSControl.h :
Code :
- #pragma once
- #ifndef NSControl_H
- #define NSControl_H
- #include "NSWindow.h"
- class NSControl
- {
- NSControl(NSWindow *pWindow);
- // etc, etc ...
- }
- #endif
|
NSWindow.h :
Code :
- #pragma once
- #ifndef NSWindow_H
- #define NSWindow_H
- #include "NSControl.h"
- class NSWindow : public std::vector<NSControl*>
- {
- // etc, etc ...
- }
- #endif
|
Le problème est que comme j'ai déjà inclu NSWindow.h dans le fichier NSControl.h, ca crée des conflits dans NSWindow.h puisque j'include le "NSControl.h" qui contient déjà le NHWindow.h.
Ca me fait des tonnes d'erreurs lorsque je compile !
Y a t'il une solution pour éviter ce conflit ?
Un grand merci