我有一个类
template<size_t N, size_t M>
class Matrix {
// ....
};
我想创建一个typedef
,它能够创建一个尺寸为N行1列的矩阵Vector
(列向量),与Matrix
等效。
typedef Matrix<N,1> Vector<N>;
这段代码会产生编译错误。下面的代码可以创建类似的东西,但并不完全符合我的需求:
template <size_t N>
class Vector: public Matrix<N,1>
{ };
有没有解决方案或不太昂贵的权宜之计/最佳实践?
<type_traits>
中包含别名声明,例如std::remove_reference_t
,它们引用了各种std::remove_reference
的特化。 - Spencer