注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

还东国的博客

行之苟有恒,久久自芬芳

 
 
 

日志

 
 

C++小知识38——声明与实现不同在不同的环境下引起的错误  

2013-04-22 20:38:46|  分类: C++(VC)编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
C++小知识38——声明与实现不同在不同的环境下引起的错误
最近在写一个库,在封装的过程中发现了一个很有趣的问题,因为平常对C++的模板用得比较少,所以遇到了困难一时无法下手。
先表述一下现象:
1、错误 2 error C2733: 不允许重载函数“XXX函数”的第二个 C 链接
2、不能够将抽象类XXX实例化。

先说第一个问题,一般来说出现这种情况有两种可能,一个是在头文件中重复定义了函数,第二个是因为你的头文件的声明与CPP文件的实现中间参数有所不同。而今天发现的就是后一种情况。但是,后面一个,可就奇怪了。后来在同事的帮助下,才知道,这个在模板类中的继承过程中,由于抽象类和继承类的实现参数不同引起的。也可以这么说,其实是和模板类没有什么关系,主要是这个错误是在模板类中引起的,而自己对模板的调试和使用经验非常有限。所以才重点提到这个模板类。要多看一下具体的输出,而不要光看错误。
一如当初跟公司的同事学会了看堆栈,有同样的感觉。
多向同事学习,向网络学习。而不知老之将至呀。
  评论这张
 
阅读(744)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017