#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:4996)是啥?
#pragma warning(disable:4996)是啥?
Gtk-WARNING **: gtk_disable_setlocale() 必须在 gtk_init() 之前调用