C+模板類型我有課template<size_t N, size_t M>class Matrix {
// ....};我想做一個typedef創(chuàng)建一個Vector(列向量),相當于Matrix尺寸是N和1。類似的東西:typedef Matrix<N,1> Vector<N>;這會產(chǎn)生編譯錯誤。以下內(nèi)容創(chuàng)建了類似的內(nèi)容,但并不完全是我想要的:template <int N>class Vector: public Matrix<N,1>{ };是否有解決方案或不太昂貴的解決辦法/最佳實踐?
3 回答

皈依舞
TA貢獻1851條經(jīng)驗 獲得超3個贊
typedef
template <size_t N>using Vector = Matrix<N, 1>;
Vector<3>
Matrix<3, 1>
.
template <size_t N>struct Vector{ typedef Matrix<N, 1> type;};
Vector<3>::type
Matrix<3, 1>
.

繁花如伊
TA貢獻2012條經(jīng)驗 獲得超12個贊
取決于他的目標。當組合完成時,我避免繼承(是的,繼承構(gòu)造函數(shù)將使這兩種情況都變得更容易),但我也避免了在tyhuif會這樣做時進行組合。
- 3 回答
- 0 關(guān)注
- 597 瀏覽
添加回答
舉報
0/150
提交
取消