我有 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>;
然而,这会引发声明冲突错误。
错误:使用 C = B 的模板“使用 C = B 的模板”的声明冲突;
我该怎么做?
最佳答案
template <size_t N, bool T>
using C = std::conditional_t<T, B<N>, A<N>>;
关于c++ - 多种类型的别名模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57009678/