#pragma warning(disable 4786)

Posted cpsmile

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#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

以上是关于#pragma warning(disable 4786)的主要内容,如果未能解决你的问题,请参考以下文章

#pragma warning(disable 4786)

#pragma warning(disable:4996)是啥?

#pragma warning(disable:4996)是啥?

Gtk-WARNING **: gtk_disable_setlocale() 必须在 gtk_init() 之前调用

docker WARNING: IPv4 forwarding is disabled 问题解决

Docker [Warning] IPv4 forwarding is disabled解决办法