#pragma warning(disable 4786)

#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

猜你喜欢

转载自www.cnblogs.com/cpsmile/p/9030314.html