dato che il problema si verifica solo con un materiale specifico, riporto qui la "struttura" di un materiale che funziona e uno con cui non funziona....
codice:
class Materiale {
public:
virtual double sigma(double& epsilon)=0;
virtual double get_E()=0;
};
//con questo funziona
class Acciaio : public Materiale {
double f_yk;
double E;
static const double gamma_m0;
double f_yd;
double epsilon_yd;
public:
Acciaio(double& fyk);
double sigma(double& epsilon);
double get_E();
};
//con questo NON funziona
namespace CA {
class Acciaio : public Materiale {
static const double f_yk;
static const double f_tk;
double E;
static const double gamma_s;
static const double f_yd;
double epsilon_yd;
public:
Acciaio();
double sigma(double& epsilon);
double get_E();
};
}
la get_E() di entrambi è uguale e si limita a restituire E.