none
STL下insert_iterator的一个错误 RRS feed

  • 问题

  • 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));
    }
    2010年7月6日 13:29

答案

  • ...下面这个是函数声明,返回值是insert_iterator<_Container>类型。

    而你这个insert_iterator<set<int> > iter(coll, coll.begin());是个构造函数。


    麻烦把正确答案设为解答。
    2010年7月6日 13:48
    版主