首页 > 代码库 > 问题解决——warning C4503 超出修饰名的长度,名称被截断
问题解决——warning C4503 超出修饰名的长度,名称被截断
========================声明============================
本文原创,转载请注明作者和出处,并保证文章的完整性(包括本声明)。
本文不定期修改完善,为保证内容正确,建议移步原文处阅读。
本文链接:http://blog.csdn.net/wlsgzl/article/details/42236503
=======================================================
领导要实现“以后支持各种检测项目”的功能,这分明就是在坑我。
上个月的代码算是废了,重新写起。
=======================================================
我需要实现一个存储检测标准的东西,支持“不确定的检测项目名、不确定的组成子项名、不确定的子项数目、不确定的子项梯度检测结果”,——感觉就是扔给你一个复合项目的说明书,能把说明书上标注的结果存起来,方便以后使用。
比方说呼吸道七项检测,每一个检测子项的每一种结果都要保存。
=======================================================
想了一会儿(这是个虚词),写了个模型小代码。
搞了类CProjInfo,里面有这么个东西:
std::multimap<CString,std::map<CString,std::map<LONG,CString>>> m_mmmmPI;虽然不是很好看,但也得先看看这个思路行不行再优化。
=======================================================
编译链接,遇到了警告。
warning C4503 超出修饰名的长度,名称被截断作为一个使用Level4编译、Ctrl+atl+E里都选中的男人,必须把这弄个明白,于是找资料。
=======================================================
找资料是个技术活,主要是看关键词的提炼。
很轻松的,找到了官方文档。
Compiler Warning (level 1) C4503
http://msdn.microsoft.com/en-us/library/074af4b6.aspx
=======================================================
文章以后再翻译,一看就懂,这里只引用一下微软的代码:
含C4503警告的代码:
// C4503.cpp // compile with: /W1 /EHsc /c // C4503 expected #include <string> #include <map> class Field{}; typedef std::map<std::string, Field> Screen; typedef std::map<std::string, Screen> WebApp; typedef std::map<std::string, WebApp> WebAppTest; typedef std::map<std::string, WebAppTest> Hello; Hello MyWAT;
一种解决方案:
// C4503b.cpp // compile with: /W1 /EHsc /c #include <string> #include <map> class Field{}; struct Screen2 { std::map<std::string, Field> Element; }; struct WebApp2 { std::map<std::string, Screen2> Element; }; struct WebAppTest2 { std::map<std::string, WebApp2> Element; }; struct Hello2 { std::map<std::string, WebAppTest2> Element; }; Hello2 MyWAT2;
=======================传播点正能量==========================
积累,从点滴做起。俗话说得好,“千里之堤,溃于蚁穴”。
你可能要问,不是应该“千里之行,始于足下”吗?
是的,虽然你知道,但你做到了吗?
========================我反正不知道=========================
问题解决——warning C4503 超出修饰名的长度,名称被截断