Могу ли я иметь частичную специализацию шаблона с помощью ключевого слова using? - PullRequest
1 голос
/ 21 января 2020

В коде библиотеки OpenCV я нахожу это:

template<typename _Tp, int cn> class Vec
{
  ...
}

typedef Vec<int, 2> Vec2i;
typedef Vec<int, 3> Vec3i;
typedef Vec<float, 2> Vec2f;
typedef Vec<float, 3> Vec3f;

Я хотел бы иметь Vec типа float и переменной длины N. Можно ли написать что-то вроде

using Vecf<N> = Vec<float, N>;

?

1 Ответ

3 голосов
/ 21 января 2020

Да, и вы почти у цели. Правильный синтаксис будет

template<int N>
using Vecf = Vec<float, N>;
...