Salve a tutti, ho un problema...
Ho una classe chiamata Trave che al suo interno è costituita da oggetti quale il Materiale e alcune proprietà ad esempio un double RH..
Io dovrei attraverso una funzione di Materiale risalire al valore RH appartenente a Trave e usarlo per alcuni calcoli..
Ho cercato di fare in questo modo ma non ne sono uscito vivo:
file trave.h
file materiale.h:codice:#ifndef trave_h #define trave_h #include "materiale.h" class Trave { public: double RH; Materiale m; ... }; #endif
Allora, inizialmente non riuscivo a compilare perchè c'era una ricorsione di file, in pratica il file trave.h mi richiama materiale.h che richiama trave.h.codice:#ifndef materiale_h #define materiale_h #include "trave.h" namespace CA { class Materiale { .... double f(double par1, double par2, Trave &t) { return par1*par2*t.RH; } }; } #endif
Questo spero di averlo risolto con i comandi #ifndef #define #endif
A questo punto però ho il problema che quando vado a compilare il compilatore mi restituisce questo errore:
Ho provato a mettere CA::Materiale con lo stesso risultato...Materiale has not been declared
Idee?