========================声明============================

本文原创,转载请注明作者和出处,并保证文章的完整性(包括本声明)。

本文不定期修改完善,为保证内容正确,建议移步原文处阅读。

本文链接: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 用数据库。

问题解决——warning C4503 超出修饰名的长度,名称被截断的更多相关文章

  1. Oracle表名、列名、约束名的长度限制

    Oracle数据库版本11.2.0.1.0 Oracle表名.列名.约束名的长度限制 1.查询用户所有的表 select * from USER_TABLES; 2.查询用户所有表的列 select ...

  2. oracle的表名、字段名、constraint名的长度限制分别是多少?

    文章出处:http://blog.csdn.net/haiross/article/details/38379615 Oracle:表名.字段名.constraint名的长度有限制 oracle 的命 ...

  3. MySQL无法重启问题解决Warning: World-writable config file ‘/etc/my.cnf’ is ignored

    MySQL无法重启问题解决Warning: World-writable config file ‘/etc/my.cnf’ is ignored

  4. InnerException 消息是“反序列化对象 属于类型 *** 时出现错误。读取 XML 数据时,超出最大字符串内容长度配额 (8192)。(注意细节)

    WEB站点在调用我们WCF服务的时候,只要传入的参数过长,就报如下错误: 格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出错: formD ...

  5. Web Service 或 WCF调用时读取 XML 数据时,超出最大字符串内容长度配额(8192)解决方法

    1.调用服务时服务 当我们使用 Web Service 或 WCF 服务时,常把读取的数据转化为string类型(xml格式),当数据量达到一 定数量时,会出现以下异常: 错误:格式化程序尝试对消息反 ...

  6. 读取 XML 数据时,超出最大字符串内容长度配额 (8192)

    格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://www.thermo.com/informatics/xmlns/limswebservice 进行反序列化时出错: Process ...

  7. WCF传送大数据时的错误“ 超出最大字符串内容长度配额”

    格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出错: GetLzdtArticleResult.InnerException 消息是“反序 ...

  8. mysql中修改表字段名/字段长度/字段类型详解

    在mysql中我们对数据表字段的修改命令只要使用alter就可以了,下面我来给大家详细介绍mysql中修改表字段名/字段长度/字段类型等等一些方法介绍,有需要了解的朋友可参考. 先来看看常用的方法 M ...

  9. ORACLE数据库导出表,字段名,长度,类型,字段注释,表注释语句

    转自:https://www.cnblogs.com/superming/p/11040455.html --数据库导出表,字段名,长度,类型,字段注释,表注释语句 SELECT T1.TABLE_N ...

随机推荐

  1. JS魔法堂:精确判断IE的文档模式by特征嗅探

    一.前言 苦逼的前端攻城狮都深受浏览器兼容之苦,再完成每一项功能前都要左顾右盼,生怕浏览器不支持某个API,生怕原生API内含臭虫因此判断浏览器类型和版本号成了不可绕过的一道关卡,而特征嗅探是继浏览器 ...

  2. QCustomplot使用分享(三) 图

    一.可以实现的图 相对于其他绘制图表的第三方库来说,QCustomPlot算是比较轻量的,不仅仅能实现功能,而且二次开发比较容易.下面我们来具体说下他可以实现那些图 QCPGraph:折线图,Line ...

  3. IIS app pools, worker processes, app domains

    Copy from  http://stackoverflow.com/questions/14105345/iis-app-pools-worker-processes-app-domains I ...

  4. 我见过的几门语言中的hello world

    1.Java public class hello { public static void main(String[] args){ System.out.println("hello w ...

  5. $(document).ready()即$()方法和window.onload方法的比较

    以浏览器装载文档为例,我们都知道在页面完毕后,浏览器会通过JavaScript为DOM元素添加事件.在常规的JavaScript代码中,通常使用window.onload方法,而在jQuery中,使用 ...

  6. Java中的Set集合接口实现插入对象不重复的原理

    在java的集合中,判断两个对象是否相等的规则是: 1).判断两个对象的hashCode是否相等 .      如果不相等,认为两个对象也不相等,完毕       如果相等,转入2)(这一点只是为了提 ...

  7. Java内存泄露的原因

    Java内存泄露的原因 1.静态集合类像HashMap.Vector等的使用最容易出现内存泄露,这些静态变量的生命周期和应用程序一致,所有的对象Object也不能被释放,因为他们也将一直被Vector ...

  8. Android应用开发基础之九:内容提供者(ContentProvider)

    内容提供者 应用的数据库是不允许其他应用访问的 内容提供者的作用:就是让别的应用访问到你的数据库 自定义内容提供者,继承ContentProvider类,重写增删改查方法,在方法中写增删改查数据库的代 ...

  9. CSS布局——横向两列布局

    1.固定两栏布局,使用float,注意对紧邻元素清除浮动影响.IE6在使用float布局同时设置横行margin的情况下会有双边距BUG,解决方案是加入_display:inline 代码如下: &l ...

  10. jQuery.merge()

    jQuery.merge( first, second ) //返回Array 合并两个数组内容到第一个数组. first第一个用来合并的数组,元素是第二数组加进来的. second第二个数组合并到第 ...