vector的初始化问题

huang_gen 2009-12-30 10:28:34
void main()
{
vector<string> vec(10);
}

这样初始化vector为什么有警告呀

========================================
--------------------Configuration: temp - Win32 Debug--------------------
Compiling...
main.cpp
E:\Test\temp\main.cpp(42) : warning C4786: 'std::reverse_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_trai
ts<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const *,int>' : identifier was truncated to '255' characters in the debug informationE:\Test\temp\main.cpp(42) : warning C4786: 'std::reverse_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<cha
r>,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
h:\program files\microsoft visual studio\vc98\include\vector(47) : warning C4786: 'std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >
>::vector<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
h:\program files\microsoft visual studio\vc98\include\vector(60) : warning C4786: 'std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >
>::~vector<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...

temp.exe - 0 error(s), 4 warning(s)
...全文
177 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
小小攻城师 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 s446721902 的回复:]
we dont care about warning,only care about about error
[/Quote]
我不想骂人,但是看到这种话简直让人无可忍耐!
别误导别人了,还邹几句洋文。杯具。。。
没有警告的代码才是完整的代码,
那些大师级的人物追求的代码都是0警告
我们任何时候都不能忽视警告
(特例是有些警告是不合理的,这些可以忽视)
必须认真对待每一个警告!!!必须!!!!!
小小攻城师 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 mmilmf 的回复:]
此warning 是因为标示符过长,超过了255个字符,尤其在谁用STL中map、vector
这类模板类的时特别要注意。

添加#pragma warning (disable:4786) //屏蔽警告就可以了
但是这个一定要添加在#include <vector>这个之前,否则不起作用
还有就是使用using namespace std;
[/Quote]
这里解释的很清楚了。
楼上的建议希望楼主采纳,扔掉vc6,他里面很多东西不是标准c++
(标准c++1999年制定,vc6 1998年出来的)
换vs2005,或者2008吧
s446721902 2009-12-30
  • 打赏
  • 举报
回复
we dont care about warning,only care about about error
mmilmf 2009-12-30
  • 打赏
  • 举报
回复
此warning 是因为标示符过长,超过了255个字符,尤其在谁用STL中map、vector
这类模板类的时特别要注意。

添加#pragma warning (disable:4786) //屏蔽警告就可以了
但是这个一定要添加在#include <vector>这个之前,否则不起作用
还有就是使用using namespace std;
cattycat 2009-12-30
  • 打赏
  • 举报
回复
警告都可以忽略的。
lovesi3344 2009-12-30
  • 打赏
  • 举报
回复
2楼的绝招啊

学习二楼
  • 打赏
  • 举报
回复
#pragma warning(disable : 4786)

它只是warning,用VC6玩模板,加上这句。
wangruiy 2009-12-30
  • 打赏
  • 举报
回复
2楼正解,只是警告,STL名字在编译的时候解析的太长,不影响程序运行的,可以 用(也是经常用)楼上的方法去掉这个警告
healer_kx 2009-12-30
  • 打赏
  • 举报
回复
warning 4786完全可以被禁掉。。。

加到前面:
#pragma warning(disable : 4786)
taodm 2009-12-30
  • 打赏
  • 举报
回复
珍惜生命,远离VC6
Contemplating 2009-12-30
  • 打赏
  • 举报
回复
换编译器
dazhuang 2009-12-30
  • 打赏
  • 举报
回复
VC6对STL库的支持不太好
ld6886 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 huiguixian 的回复:]
引用 8 楼 s446721902 的回复:
we dont care about warning,only care about about error

我不想骂人,但是看到这种话简直让人无可忍耐!
别误导别人了,还邹几句洋文。杯具。。。
没有警告的代码才是完整的代码,
那些大师级的人物追求的代码都是0警告
我们任何时候都不能忽视警告
(特例是有些警告是不合理的,这些可以忽视)
必须认真对待每一个警告!!!必须!!!!!
[/Quote]

正解

void main()
{
vector <string> vec;
vec.resize(10);
}

64,661

社区成员

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

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