您好,为什么vector中的warning不能屏蔽?
代码:#pragma warning(disable:4018)
#include <vector>
using namespace std;
#pragma warning(default:4018)若干warning:
d:\program files\microsoft visual studio\vc98\include\vector(156) : warning C4018: '<' : signed/unsigned mismatch
        d:\program files\microsoft visual studio\vc98\include\vector(156) : while compiling class-template member function 'void __thiscall std::vector<unsigned int,class std::allocator<unsigned int> >::insert(unsigned int *,unsigned int,const unsig
ned int &)'
谢谢!

解决方案 »

  1.   

    警告级别在3级或以下则没有警告,
    堆栈显示是在调用vector对象的push_back()中的insert方法时出现这个警告,我是在UNICODE环境中。请问我该怎样消除这个警告呢?
      

  2.   

    第一:将: #pragma warning(disable:4018) 
    放到 stdafx.h头文件中去。第二:尽量使用mfc的替代品,如CArray,CArrayString等。
      

  3.   

    VC6种stl的警告恶心,你还是升级编译器吧
    没有问题的代码也要警告的。这是编译器的问题。
      

  4.   

    #pragma warning ( disable : 4786 ) 
      

  5.   

    回复:我的
    #pragma warning(disable:4018) 
    #include  <vector> 
    using namespace std; 
    #pragma warning(default:4018) 
    就在stdafx.h中
      

  6.   

    回复:#pragma warning ( disable : 4786 ) 没有用,这用来干嘛的?谢谢
      

  7.   

    这个警告是说了你的singed与unsigned的问题,还是留着好了,有警告说明代码中有需要注意的地方,尤其是这儿,可能会出现溢出问题,或使得你的计算不准确。