Псевдоним сложного типа шаблона - PullRequest
1 голос
/ 03 августа 2020

У меня есть следующее определение в файле Segment.h

template<typename T, typename VecType = mat::vec3_gen<T> > class Segment
{
    // class
}

Вместо typename VecType = mat::vec3_gen<T> я хочу использовать псевдоним для типа и иметь возможность использовать его вне файла. как я могу это сделать?

1 Ответ

4 голосов
/ 03 августа 2020

Поскольку тип VecType зависит от T, вы можете сделать псевдоним типа членом Segment.

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

Теперь вы можете использовать его в другом коде:

auto vec = Segment<int>::VecType;
...