我有功能(实际上它是部分专业化的)
template<typename T>
T generate(){
}
要使用它,我必须隐式键入模板类型,例如
int v = generate<int>();
现在我想编写一个函数,它获取输出迭代器并n
使用这个函数生成值。
template<typename OI>
fill(size_t n, OI it){
for(size_t i = 0; i < n; ++i){
*(it++) = generate<__TYPE???__>();
}
}
我知道,对于具有实际值的迭代器,那些被指出的,那里value_type
,这表明了它。但是如果我得到例如back_insert_iterator
value_type
是无效的,那不是我想要的。
那么,有没有办法获得这种类型?