在vc6中使用map时,大概有100多个警告,不知来何?请问大侠们是如何解决的?

解决方案 »

  1.   

    正常,在发布版里就没了,一般是由于使用了map,类名太长,产生的的警告
      

  2.   

    就这个问题查了查MSDN(查找4786),MSDN说这是VC6的一个bug,已经在.Net中解决了,不过也有一个解决的办法:
    第一步:在编译选项中使用/Zi(注意大小写)
    第二步:在凡是使用map的地方,在包含<map>等ATL头文件之前,插入下面的语句:
    #pragma warning(disable: 4786)
    (我的建议是在stdafx.h的顶端包含该行)
    第三步:编译。讨厌的警告将不会再出现了。缺点:因为使用了/Zi,所以拟将不能使用/ZI,也就是说,Edit and Continue功能将会丧失。具体的利弊,请自己权衡。