复杂模板类型名的别名

Alias to complicated Template Typename

我在文件 Segment.h

中有以下定义
template<typename T, typename VecType = mat::vec3_gen<T> > class Segment
{
    // class
}

我不想使用 typename VecType = mat::vec3_gen<T> 类型的别名 并且也能够在文件之外使用它。我该怎么做?

由于类型 VecType 依赖于 T,您可以使类型别名成为 Segment.

的成员
template<typename T>
class Segment {
public:
    using VecType = mat::vec3_gen<T>;
};

现在您可以在其他代码中使用它了:

auto vec = Segment<int>::VecType;