wince下使用STL出现4786编译警告

如下代码:
 
int WINAPI WinMain(HINSTANCE hInstance,
       HINSTANCE hPrevInstance,
       LPWSTR lpCmdLine,
       int nShowCmd
       )
{
 vector<pair<string, pair<string,string> > >m_szStrItem;
 vector <string> str;

  return 0;
}
 

这个警告的意思就是说,vector<string>的构造生成的Symbols太长了,超过了255个字符。

你其实不用理会这个警告,因为它只会影响到Debugg,而不会影响到真实的代码。实际上,如果你编译一个Release版本的话,就会发现这个警告已经完全消失了。

消除这个警告可能有一点难度,因为这属于预处理器的行为。

一般建议你这么做:

#pragma warning(disable : 4786)

#include <vector>

#include <string>

 

注意这个pragma声明一定要放在stl头文件之前!否则不起作用!

 

这个pragma也不是总能够发生效力的!有时候,并不能消除所有的这种C4786警告。

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(926) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值