【发布时间】:2019-10-10 11:38:24
【问题描述】:
例如我有这样的代码:
template<typename A, typename B>
using Map = std::map<A, B>;
template<typename A, typename B>
using UnorderedMap = std::unordered_map<A, B>;
我想为std::array 做同样的事情,即:
template<typename A, typename B>
using Array = std::array<A, B>;
但是如果我这样做,我会得到一个编译器错误:
错误 C2993:“B”:非类型模板参数“_Size”的非法类型
错误 C2955: 'std::array': 使用类模板需要模板
argument list array(21): message : see declaration of 'std::array'
有什么方法可以声明一个Array,它会在后台使用std::array?
最后我想使用像Array<int, 7> items 这样的数组而不是std::array<int, 7> items。
【问题讨论】:
标签: c++ arrays templates std stdarray