Trovo che la funzione di ereditarietà del costruttore in C++ 11 sia molto utile. Tuttavia, trovo la sintassi leggermente strana. L'esempio riportato di seguito funziona bene, ma non capisco perché devo specificare anziché using sysTrajectory<Real>::sysTrajectory<Real>
quando si eredita da una classe modello? Quest'ultimo dà il seguente errore: previsto ";" prima del token "<" utilizzando sysTrajectory :: sysTrajectory ;. Potrebbero esserci dei potenziali problemi quando si ereditano i costruttori da un modello di classe?C++ 11 ereditari template ereditari
class sysRealTrajectory: public sysTrajectory<Real>
{
public:
/**
* Default constructor
*/
inline sysRealTrajectory(void);
using sysTrajectory::sysTrajectory;
/**
* Default destructor
*/
inline ~sysRealTrajectory(void);
};
principale:
Real a;
a=5;
sysTrajectoryPoint<Real> TP0(1.0,a);
sysRealTrajectory Trajectory(TP0);
Grazie per la spiegazione. – user1391279