vector的用法出警告

xiaoxiangfei 2006-03-03 09:06:03
以下是我写的一段语句,可老是会报警告!
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int main()
{
vector<string> *pstrvec=new vector<string>
pstrvec->push_back("abc");
pstrvec->push_back("def");
string str;
str=(*pstrvec)[0];
cout<<"the str is :"<<str<<endl;

int abc;
cin>>abc;
return 1;
}
当把*pstrvec 改成不是指针对象时也会报警告,而用一些内置的数据类型就不会,为什么啊
...全文
242 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxiangfei 2006-03-04
  • 打赏
  • 举报
回复
上面各位讲的,都讲对了,是4786这个错误,但用了#pragma warning(disable:4786)后还有两个警告!只有把它设为release模式下就可以了。谢谢各位高手了。
Darkay_Lee 2006-03-03
  • 打赏
  • 举报
回复
大哥,你看了它的告警信息了没有啊?不要告诉我你英文读不懂呀?!
zhNKUjw 2006-03-03
  • 打赏
  • 举报
回复
嗯,是因为VC6.0的问题
刚在vc2005下面试试,没有这个问题
pyrophile 2006-03-03
  • 打赏
  • 举报
回复
如果是vc6的话你用标准C++的话就会出现警告,因为它对标准C++支持的不太好,可以在加上这句
#pragma warning(disable : 4786)
yifanernei 2006-03-03
  • 打赏
  • 举报
回复
VC在编译模板代码的时候会将代码展开,所以你的代码中很普通的符号在编译器内部可能就会变得非常的长,是VC6.0的编译器对长的符号会警告。

如果你对自己的程序有把握,完全可以屏蔽掉这个警告,
#pragma warning(disable : 4786)
cunsh 2006-03-03
  • 打赏
  • 举报
回复
用vc 6设置成debug 的有警告
改成Release 的编译没
healer_kx 2006-03-03
  • 打赏
  • 举报
回复
什么警告啊? 4786?
darkstar21cn 2006-03-03
  • 打赏
  • 举报
回复
你的编译环境?
逸学堂 2006-03-03
  • 打赏
  • 举报
回复
#include <string>
#pragma warning(disable : 4786)
#include <vector>
#include <iostream>
using namespace std;

64,662

社区成员

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

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