...VC\INCLUDE\iterator(93) : error C2039: “push_front”: 不是“std::vector<_Ty>”的成员

清泛原创

...VC\INCLUDE\iterator(93) : error C2039: “push_front”: 不是“std::vector<_Ty>”的成员

        with
        [
            _Ty=int

        ]

错误代码:

int ia[] = {1,5,3,3,4};
const int array_size = sizeof(ia)/sizeof(*ia);
list<int> ilist(ia,ia+array_size);
vector<int> temp;
copy(ilist.begin(),ilist.end(),
front_inserter(temp));//使用push_front插入,导致错误

解决办法: 迭代器与底层容器之间的操作实际上存在限制关系,也就是说并不是所有的容器都支持诸如push_front之类的操作。这里front_inserter将使用push_front方法来向vector插入元素,但是vector并不支持push_front操作。因此,解决的方法就是使用back_inserter 或者inserter函数返回的插入迭代器来进行操作。

error C2039 push_front

分享到:
评论加载中,请稍后...
创APP如搭积木 - 创意无限,梦想即时!
回到顶部