关于vector初始化

RookieAC 2008-03-15 11:44:53
#include <vector>
using namespace std;
int main()
{
int iarray[]={5,2,5,5,5,5};
vector<int> ivec=(iarray,iarray+3);
return 0;
}


这个我的vc6.0会报错

--------------------Configuration: 1 - Win32 Debug--------------------
Compiling...
1.cpp
E:\Essential C++\1.cpp(6) : error C2440: 'initializing' : cannot convert from 'int *' to 'class std::vector<int,class std::allocator<int> >'
No constructor could take the source type, or constructor overload resolution was ambiguous
Error executing cl.exe.

1.exe - 1 error(s), 0 warning(s)


怎么回事儿啊?
书上明明说这样可以赋值么
...全文
404 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
regcwt 2008-04-11
  • 打赏
  • 举报
回复
vector<int> ivec(iarray,iarray+3);
这样才可以吧
你那个想法是把一个地址区间传给ivec,但是=以后就不对了
RookieAC 2008-03-15
  • 打赏
  • 举报
回复
是vc6.0的过吗?
到底怎么回事儿啊?
taodm 2008-03-15
  • 打赏
  • 举报
回复
扔了VC6,不要用它来浪费生命了
换VC2005或者wxdevcpp
RookieAC 2008-03-15
  • 打赏
  • 举报
回复
困惑啊!
相关推荐
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-03-15 11:44
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下