多种类型的别名模板

Alias template for multiple types

我有 2 个模板类型:

A<int N>
B<int N>

我需要这两种类型由第三种类型别名,

C<int N, bool T>

基本上我想要的是这样的:

template<size_t N, bool T = false>
using C = A<N>;

template<size_t N, bool T = true>
using C = B<N>;

但是这会引发声明冲突错误。

错误:模板声明冲突 'template using C = B' 使用 C = B;

我该怎么做?

template <size_t N, bool T>
using C = std::conditional_t<T, B<N>, A<N>>;