VC6.0下 容器的 assign(b, c); 编译为什么报错?请指点!!
VC6.0下 容器的 assign(b, c); 编译为什么报错!代码如下:
#include <iostream>
#include <list>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main(int argc, char **argv)
{
char *str[] = {"aaaa","ssss","dddd","ffff","gggg"};
vector<string>svec;
list<char*>slist(str, str + 5);
svec.assign(slist.begin(), slist.end()); //编译此行报错。为什么?
vector<string>::iterator iter = svec.begin();
for(; iter!= svec.end(); ++iter){
cout<<*iter<<endl;
}
return 0;
}
c.assign(b,e)
重新设置 c 的元素:将迭代器 b 和 e 标记的范围内所有的元素复制到 c 中。b 和 e 必须不是指向 c 中元素的迭代器
请高手指点!!谢谢!!