'255' characters的Warning怎么解决

happycock 2003-08-19 11:59:07
我只是用了STL啊,这怎么办啊?难道是我使用方法不正规?
Compiling...
test.cpp
c:\program files\microsoft visual studio\vc98\include\vector(39) : warning C4786: 'std::reverse_iterator<std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *> const *,std::pair<char,std::list<LinkedList<
char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *>,std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *> const &,std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList
<char,int>::edge> > *> const *,int>' : identifier was truncated to '255' characters in the debug information
c:\program files\microsoft visual studio\vc98\include\vector(39) : while compiling class-template member function '__thiscall std::vector<std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *>,std
::allocator<std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *> > >::std::vector<std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *>,std::allocator<std::
pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *> > >(const std::allocator<std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *> > &)'
c:\program files\microsoft visual studio\vc98\include\vector(39) : warning C4786: 'std::reverse_iterator<std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *> *,std::pair<char,std::list<LinkedList<char,i
nt>::edge,std::allocator<LinkedList<char,int>::edge> > *>,std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *> &,std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::
edge> > *> *,int>' : identifier was truncated to '255' characters in the debug information
c:\program files\microsoft visual studio\vc98\include\vector(39) : while compiling class-template member function '__thiscall std::vector<std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *>,std
::allocator<std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *> > >::std::vector<std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *>,std::allocator<std::
pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *> > >(const std::allocator<std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *> > &)'
c:\program files\microsoft visual studio\vc98\include\vector(39) : warning C4786: 'std::vector<std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *>,std::allocator<std::pair<char,std::list<LinkedList<cha
r,int>::edge,std::allocator<LinkedList<char,int>::edge> > *> > >::vector<std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *>,std::allocator<std::pair<char,std::list<LinkedList<char,int>::edge,std::allo
cator<LinkedList<char,int>::edge> > *> > >' : identifier was truncated to '255' characters in the debug information
c:\program files\microsoft visual studio\vc98\include\vector(60) : warning C4786: 'std::vector<std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *>,std::allocator<std::pair<char,std::list<LinkedList<cha
r,int>::edge,std::allocator<LinkedList<char,int>::edge> > *> > >::~vector<std::pair<char,std::list<LinkedList<char,int>::edge,std::allocator<LinkedList<char,int>::edge> > *>,std::allocator<std::pair<char,std::list<LinkedList<char,int>::edge,std::all
ocator<LinkedList<char,int>::edge> > *> > >' : identifier was truncated to '255' characters in the debug information
Linking...

Graphic.exe - 0 error(s), 4 warning(s)
...全文
358 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lattice 2003-08-21
  • 打赏
  • 举报
回复
这样的警告是disable不掉的,即使你用了disable:4786,我还是打了SP5 的,
我disable了N次,只有一次好了,但是过了一段时间又出现了
xiaoyunet 2003-08-20
  • 打赏
  • 举报
回复
还是使用#progma waring(disable:4786)吧,免得掩盖了其他的警告。也并不粗鲁,明白了原因的警告忽略之,不算粗鲁。
stoneliuwg 2003-08-20
  • 打赏
  • 举报
回复
在IDE环境下编译STL程序时,可能会出现如下警告信息
warning C4786: '……' : identifier was truncated to '255' characters in the debug information
这是因为编译器在Debug状态下编译时,把程序中所出现的标识符长度限制在了255个字符范围内。如果超过最大长度,这些标识符就无法在调试阶段查看和计算了。而在STL程序中大量的用到了模板函数和模板类,编译器在实例化这些内容时,展开之后所产生的标识符往往很长(没准会有一千多个字符!)。
对于这样的warning,当然可以置之不理,不过也是有解决办法的。可以在文件开头加入下面这一行:#pragma warning(disable: 4786)。它强制编译器忽略这个警告信息,这种做法虽然有点粗鲁,但是很有效。
qqchen79 2003-08-20
  • 打赏
  • 举报
回复
ignore it:
put following line at the very beginning of your .cpp files.
#pragma warning( disable : 4786 )
zdy_8212 2003-08-19
  • 打赏
  • 举报
回复
faint
Lokioo 2003-08-19
  • 打赏
  • 举报
回复
你好好看看使用范例~只是使用不规范
有时候会得到 非预期的结果~
njtu 2003-08-19
  • 打赏
  • 举报
回复
yun

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧