码迷,mamicode.com
首页 > 其他好文 > 详细

#pragma warning(disable 4786)

时间:2018-05-12 23:04:25      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:uda   fine   font   style   mil   类模板   屏蔽   cpp   www   

#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)

标签:uda   fine   font   style   mil   类模板   屏蔽   cpp   www   

原文地址:https://www.cnblogs.com/cpsmile/p/9030314.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!