在mfc中使用map(映射)出现的N多警告

我定义了一个结构体//树控件中项的信息structItemMsg{HTREEITEMhItem;CBitmapbmp;~ItemMsg(){if(bmp.GetSafeH... 我定义了一个结构体
//树控件中项的信息
struct ItemMsg
{
HTREEITEM hItem;
CBitmap bmp;

~ItemMsg()
{
if(bmp.GetSafeHandle())
{
bmp.DeleteObject();
}
}
};

我将树控件项的句柄与这个结构体指针进行映射。
( 在头文件里我已经加了#include <map>和命名空间 )
typedef map< HTREEITEM, ItemMsg* > ITEM_MAP;
然后我在自定义的树控件类中定义了这个映射的变量
ITEM_MAP m_mapHitemToItemMsg;
这时我编译发现出现很多警告,举例:
warning C4786: 'std::reverse_bidirectional_iterator<std::_Tree<_TREEITEM *,std::pair<_TREEITEM * const,ItemMsg *>,std::map<_TREEITEM *,ItemMsg *,std::less<_TRE
EITEM *>,std::allocator<ItemMsg *> >::_Kfn,std::less<_TREEITEM *>,std::allocator<ItemMsg *> >::iterator,std::pair<_TREEITEM * const,ItemMsg *>,std::pair<_TREEITEM * const,ItemMsg *> &,std::pair<_TREEITEM * const,ItemMsg *> *,int>' : identifier was t
runcated to '255' characters in the debug information
如何解决这个问题???望达人帮忙,(虽然编译两次,警告就会消失)
在Release中同样有一个警告:
LINK : warning LNK4089: all references to "MSVCP60.dll" discarded by /OPT:REF

这样的问题怎么解决?????分析了要给办法啊!
展开
 我来答
tunsanty
2009-08-13 · TA获得超过344个赞
知道小有建树答主
回答量:200
采纳率:0%
帮助的人:315万
展开全部
正常,微软的编译器就这样

在你文件的#include<...> 后加上
#pragma warning(disable: 4786)
猫江的18
2009-08-12 · TA获得超过350个赞
知道小有建树答主
回答量:198
采纳率:0%
帮助的人:199万
展开全部
在debug信息中,标识符被截断为255个字符.

可能就是你在debug模式中,属性窗口的变量名不是有个类型说明的:'std::reverse_bidirectional_iterator..."可能就是这个类型说明符号太长了,被截断了.只是猜测.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式