STL下insert_iterator的一个错误,stlinsert_iterator
set<int> coll;insert_iterator<set<int> > iter(coll, coll.begin());
在vs2005中提示
error C2665: 'std::insert_iterator<_Container>::insert_iterator' : none of the 2 overloads could convert all the argument types
源代码明明是可以的
template<class _Container,
class _Iter> inline
insert_iterator<_Container> inserter(_Container& _Cont, _Iter _Where)
{ // return insert_iterator
return (std::insert_iterator<_Container>(_Cont, _Where));
}
解决方案
...下面这个是函数声明,返回值是insert_iterator<_Container>类型。
而你这个insert_iterator<set<int> > iter(coll, coll.begin());是个构造函数。
用户评论