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
codice:
#ifndef trave_h
#define trave_h
#include "materiale.h"
class Trave {
public:
double RH;
Materiale m;
...
};
#endif
file materiale.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
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.
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:
Materiale has not been declared
Ho provato a mettere CA::Materiale con lo stesso risultato...
Idee?