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 用数据库。



  • 相关阅读:
    iframe高度100%,自适应高度
    怎么让frameset出现整体滚动条
    页面返回顶部
    HTML页面跳转的5种方法
    java web中路径问题。
    sql server数据库添加记录
    如何获取新浪微博背景图
    JavaScript检查是否包含某个字符
    纯JS省市区三级联动
    document.getElementById方法在火狐和谷歌浏览器兼容
  • 原文地址:https://www.cnblogs.com/wlsandwho/p/4202063.html
Copyright © 2011-2022 走看看