这一段代码提示那么多的警告是怎么回事?没有错误

zhzh1126 2013-07-20 11:21:42
这一段代码提示那么多的警告是怎么回事?没有错误。

#include "stdafx.h"
#include <iostream>
#include <list>
//#include <deque>
#include <string>
using namespace std;


int main(int argc, char* argv[])
{
list<string> slist;
string str;
cout<<"please enter some strings(Ctrl+Z to end)"<<endl;
while(cin>>str)
slist.push_back(str);
cin.clear();
cout<<"please enter a string that you want to search "<<endl;
cin>>str;
for(list<string>:: iterator iter=slist.begin();iter!=slist.end();iter++)
if(*iter==str)
{
iter=slist.erase(iter);
--iter;
}
//for(iter=slist.begin();iter!=slist.end();iter++)
// cout<<*iter<<endl;

return 0;
}




E:\Program Files (x86)\Microsoft Visual Studio\MyProjects\9_27c\9_27c.cpp(32) : warning C4786: 'std::reverse_bidirectional_iterator<std::list<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,
std::char_traits<char>,std::allocator<char> > > >::iterator,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,std::basic_string<char,std::char_traits<char>,std
::allocator<char> > *,int>' : identifier was truncated to '255' characters in the debug information
E:\Program Files (x86)\Microsoft Visual Studio\MyProjects\9_27c\9_27c.cpp(32) : warning C4786: 'std::reverse_bidirectional_iterator<std::list<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,
std::char_traits<char>,std::allocator<char> > > >::const_iterator,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_trai
ts<char>,std::allocator<char> > const *,int>' : identifier was truncated to '255' characters in the debug information
e:\program files (x86)\microsoft visual studio\vc98\include\list(131) : warning C4786: 'std::list<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> > >::list<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >' : identifier was truncated to '255' characters in the debug information
e:\program files (x86)\microsoft visual studio\vc98\include\list(153) : warning C4786: 'std::list<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char>
> > >::~list<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >' : identifier was truncated to '255' characters in the debug information
Linking...

9_27c.exe - 0 error(s), 0 warning(s)
...全文
224 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
luming2016 2015-10-29
  • 打赏
  • 举报
回复
最近也遇到这个问题,网上搜的用下面的方法解决了,不知这样对以后的结果有没有影响 问题是因为VC6对STL的一些不完全支持造成,手工屏蔽就可以。 方法为在源文件头部加入一下预编译代码 #ifdef WIN32 #pragma warning (disable: 4514 4786) #endif 问题解决。
zhzh1126 2013-07-22
  • 打赏
  • 举报
回复
引用 1 楼 qjzl2008 的回复:
vc6.0 的? 老编译器对stl的支持不足导致的, 尽量还是别用太老的了
是的
qjzl2008 2013-07-21
  • 打赏
  • 举报
回复
vc6.0 的? 老编译器对stl的支持不足导致的, 尽量还是别用太老的了
mujiok2003 2013-07-21
  • 打赏
  • 举报
回复
可以关闭C4786警告。
mujiok2003 2013-07-21
  • 打赏
  • 举报
回复
identifier was truncated to '255' characters in the debug information
可以无视。说的是调试信息中的标示符被截断了。
zhaokai115 2013-07-21
  • 打赏
  • 举报
回复
一边访问slist一边改变slist,运行时会出错滴。。。

65,186

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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