解决方法:fill_n()函数将在vector中从头开始,将指定个数的元素设置为给定的值。fill_n函数假定对指定数量的元素做写操作是安全的。初学者常犯的错误的是:在没有元素的空容器上调用 fill_n 函数,因此需要使用back_inserter ,这种插入迭代器。当使用插入迭代器赋值时,则会在容器中添加一个新元素,其值等于赋值运算的右操作数的值。因此需将代码改为:
fill_n (back_inserter(ivec), 10, 1);
fatal error "vector iterator + offset out of range" "standard C++ libraries out of range"
来源:清泛原创 2016-08-29 17:05:48 人气: 我有话说( 0 人参与)
代码如下:#include <iostream> #include <iterator> 使用back_inserter #include <algorithm> #include <vector> usin...
fill_n (back_inserter(ivec), 10, 1);
上一篇:error C2440: 'initializing' : cannot convert from 'char *' to 'const class std::basic_string
下一篇:error C2780: 'void __cdecl std::sort(_RI,_RI,_Pr)' : expects 3 arguments - 2 provided