如下代码:
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPWSTR lpCmdLine,
int nShowCmd
)
{
vector<pair<string, pair<string,string> > >m_szStrItem;
vector <string> str;
HINSTANCE hPrevInstance,
LPWSTR lpCmdLine,
int nShowCmd
)
{
vector<pair<string, pair<string,string> > >m_szStrItem;
vector <string> str;
return 0;
}
这个警告的意思就是说,vector<string>的构造生成的Symbols太长了,超过了255个字符。
你其实不用理会这个警告,因为它只会影响到Debugg,而不会影响到真实的代码。实际上,如果你编译一个Release版本的话,就会发现这个警告已经完全消失了。
消除这个警告可能有一点难度,因为这属于预处理器的行为。
一般建议你这么做:
#pragma warning(disable : 4786)
#include <vector>
#include <string>
注意这个pragma声明一定要放在stl头文件之前!否则不起作用!
这个pragma也不是总能够发生效力的!有时候,并不能消除所有的这种C4786警告。
相关热门文章
给主人留下些什么吧!~~
评论热议