vector赋值给vector

Dzcleisure 2009-12-09 09:47:58
各位大侠们
小弟遇到了一个问题
//声明了一个存储字符串的数组
char ** ptr = new char *[number];
vecter<char *> vec1;
vec1.push_back(*ptr);
之后小弟想 赋值 把vector<char*> 赋值给vector<string>;
小弟写的是 vector<string> vec2;
vec2.assign(vec1.begin(), vec1.end());
但是提示不对,请各位高手帮看看,困扰我好久了。
其实我就是想把一个char * 的数组赋值到vector<string>中。还有什么好方法,麻烦了~~
...全文
556 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ydyn1988 2009-12-09
  • 打赏
  • 举报
回复
没问题阿
beginnow 2009-12-09
  • 打赏
  • 举报
回复
值 把vector <char*> 赋值给vector <string>
->string有个构造函数专门接受char*,所以没有问题
你说的提示不对是什么提示?
JGood 2009-12-09
  • 打赏
  • 举报
回复
vecter <char *> vec1; // 这是什么??


	char a[][100] = { "hello", "c/c++", "world" };
char ** ptr = new char *[3];
for (int i = 0; i < 3; i++)
{
ptr[i] = a[i];
}

vector<char *> vec1;
copy(ptr, ptr + 3, back_inserter(vec1));

vector<string> vec2;
// vec2.assign(vec1.begin(), vec1.end());
copy(vec1.begin(), vec1.end(), back_inserter(vec2));
copy(vec2.begin(), vec2.end(), ostream_iterator<string>(cout, "\n"));
stardust20 2009-12-09
  • 打赏
  • 举报
回复
我也试下了。。好像也没问题啊。。要记得#include <string>
  • 打赏
  • 举报
回复
这个代码直接编译过去,没问题。
#include<vector>
#include<string>
using namespace std;

int main()
{
vector<string> vec2;
vector <char *> vec1;
vec2.assign(vec1.begin(), vec1.end());
}

是不是你用的编译器太老了?

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧