我發現C++ 11中的構造函數繼承特性非常有用。不過,我覺得它的語法有點奇怪。下面的例子效果很好,但我不明白爲什麼我需要指定using sysTrajectory::sysTrajectory
而不是從模板類繼承using sysTrajectory<Real>::sysTrajectory<Real>
?後者給出以下錯誤:使用sysTrajectory :: sysTrajectory;在'<'令牌之前預期';'。從類模板繼承構造函數時是否會有任何潛在的問題?C++ 11繼承模板構造函數
class sysRealTrajectory: public sysTrajectory<Real>
{
public:
/**
* Default constructor
*/
inline sysRealTrajectory(void);
using sysTrajectory::sysTrajectory;
/**
* Default destructor
*/
inline ~sysRealTrajectory(void);
};
主:
Real a;
a=5;
sysTrajectoryPoint<Real> TP0(1.0,a);
sysRealTrajectory Trajectory(TP0);
謝謝你的解釋。 – user1391279