解决VC中的有关STl 的4786编译警告

在VC 6.0 上使用 STL 的时候会出现这种警告。是由于C++在内部生成的变量名超过了 255 个字符所致,在测试(Debug)版本中编译器限制生成的变量名的最大长度。一般可以忽略这类错误,想屏蔽它可以使用   #pragma warning (disable: 4786)。


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

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

一般建议你这么做:

#pragma warning(disable : 4786)

#include <string>
#include <vector>

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

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

详情参见:

http://support.microsoft.com/support/kb/articles/Q167/3/55.ASP

微软声称,将在Microsoft Visual C++ .NET中解决这个问题。

转载于:https://www.cnblogs.com/tenger/articles/2237971.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值