#include emboité probleme
Bonjour tout le monde.
J'ai un soucis de #include qui commence a me faire tomber les cheveux (a force de tirer dessus d'enervement.. ).
Le probleme est assez "simple" tout du moins a expliquer : voila le soucis :
J'ai mon main qui include le fichier "Simu.hpp".
Ce dernier include 4 differents fichiers ObjectComplex.hpp, IO.hpp et GUI.hpp et handleWindow.hpp
ObjectComplex.hpp include lui-meme 3 ficihiers ObjetSimple (Resistor, Capacitor, Electrode.hpp) qui chacun include "ElectricComponent.hpp" : ce dernier include <math.h> et algorithm.hpp
IO.hpp include "Current.hpp", "PS.hpp" et Voltage.hpp ; ces derniers uncludant a eux tous "algorithm.hpp" et <string> et <iostream>
Enfin, GUI.hpp include 3 boutons (pour gerer les InputOutput : CurrentButton.hpp, VoltageButton.hpp et PSButton.hpp) qui chacun include "algorithm.hpp" et <math.h>, et egalement la librairie que j'utilise (SFML).
Jusque la, aucun probleme, ca compile bien etc..
Le probleme vient maintenant : je cherche a implementer dans "algorithm.cpp" une fonction qui prend en entrée une Simu (car faisant des calculs a la fois sur IO, et ObjectComplex). De facon 'naturelle' (selon moi tout du moins =p), j'include donc Simu.hpp dans "algorithm.hpp" - et la .... tout crash a la compil : je recois des centaines d'erreur
Voila, je pourrais creer la fonction qui m interesse (ce que j ai d'ailleurs fait pour le moment) dans Simu, mais cette fonction est purement algorithmique, elle se sert juste de plusieurs data pour ne rien modifier mais juste retourner un 'double' qui m'interesse (d'ou ma volonté de mettre cette fonction dans algo).
Les messages d'erreur ressemblent a peu pres tous a ca :
Code:
1 2
| error C2061: syntax error : identifier 'InputOutput'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int |
( la deuxieme erreur découle de la premiere je suppose .. )
Juste pour preciser, tout mes .hpp sont sous la forme
Code:
1 2 3 4
| #ifndef TOTO_H
#define TOTO_H
// here #include.hpp and function signatures
#endif |