【发布时间】:2018-04-27 21:55:13
【问题描述】:
我正在创建一个实用函数来根据模板类型将字节数组组合成一个值。
我目前有两个重载函数,它们接受一对正向迭代器和一对反向迭代器,以便处理大端和小端。
是否可以有一个模板化的向量迭代器并将我的两个函数简化为一个?
例如,这是我想做的:
template <typename T, typename Iter>
inline T combine_bytes(std::vector<unsigned char>::Iter const &start,
std::vector<unsigned char>::Iter const &end,
bool bigendian)
{
T ret;
std::copy(start, end, reinterpret_cast<unsigned char *>(&ret));
return ret;
}
我得到的编译错误是:
Failed to specialize function template 'T Utils::combine_bytes(const Iter &, const Iter &)'
【问题讨论】:
标签: c++ c++11 templates vector