zoukankan      html  css  js  c++  java
  • 问题解决——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;

    =======================传播点正能量==========================

    积累,从点滴做起。俗话说得好,“千里之堤,溃于蚁穴”。















    你可能要问,不是应该“千里之行,始于足下”吗?

    是的,虽然你知道,但你做到了吗?

    ========================我反正不知道=========================

    当然,简单的做法有:

    1 用字符串。

       比方说解析“A|B|C-D”。

    2 用数据库。



  • 相关阅读:
    无法重用Linq2Entity Query
    The Joel Test
    MSBuilder directly instead of default VSComplie with keyborad shotcut 原创
    客户端缓存(Client Cache)
    关于代码重构和UT的一些想法,求砖头
    ExtJS2.0实用简明教程 应用ExtJS
    Perl information,doc,module document and FAQ.
    使用 ConTest 进行多线程单元测试 为什么并行测试很困难以及如何使用 ConTest 辅助测试
    史上最简单的Hibernate入门简介
    汽车常识全面介绍 传动系统
  • 原文地址:https://www.cnblogs.com/wlsandwho/p/4202063.html
Copyright © 2011-2022 走看看