1. 程式人生 > >#pragma warning(disable 4786)

#pragma warning(disable 4786)

否則 font size 模板類 str 作用 new http strong

#pragma warning(disable 4786)

此warning產生的原因是因為標識符過長,超過了最大限定255個字符
類名超過了255個字符,使用時就會報4786的waring。

在使用STL(C++標準模板庫)的時候經常引發類似的錯誤,尤其是vector,map這類模板類,模板中套模板,一不小心就超長了。


解決方法有兩種,一種是直接定義別名:
  #ifdef _DEBUG
  #define VeryLongClassNameA A
  #define VeryLongClassNameB B
  #endif
  另一種是屏蔽4786warning:
  #pragma warning(disable : 4786)


  註意屏蔽語句必須放在報錯的模板類的引用聲明(如#include )之前,否則還是不起作用。

1 #ifdef _WIN32_
2 #pragma warning (disable: 4786)
3 #include <ostream>
4 #endif


摘自:http://www.examda.com/ncre2/cpp/fudao/20081031/093029983.html

#pragma warning(disable 4786)