typedef过的相同类型不同名字不能重载???

mopyman mopyman 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
typedef void* HBITMAP;
typedef void* HGDIOBJ;//windows中实际类型就是这样的

KBitmap(HBITMAP hBitmap):m_hBitmap(hBitmap){}
KBitmap(HGDIOBJ hGdiObject):m_hBitmap((HBITMAP)hGdiObject){}

以上为KBitmap的2个构造函数,VC能正常编译通过,而bds2006提示2个声明
ambiguous,当然我知道HBITMAP和HGDIOBJ都是void*类型,但是也是用typedef重新申明过的啊,设置什么选项能让bds2006通过编译呢?
...全文

相关推荐

深度探究C++中的函数重载的用法

主要介绍了C++中的函数重载用法,包括重载时参数类型的差异以及匹配和转换等方面问题的讲解,需要的朋友可以参考下

weixin_38734361

typedef的用法.pdf

typedef的用法 在C语言中,typedef关键字用于为已存在的数据类型创建一个新的名称。通过typedef,我们可以为复杂的数据类型(如结构体、指针、函数等)定义简单的名字,方便我们在代码中引用。 以下是一个typedef的基本用法示例: typedef int myInt; // 创建一个名为myInt的新名称,它代表int类型 myInt a = 5; // 定义一个myInt类型的变量a,并赋值为5 在这个例子中,我们首先使用typedef为int类型定义了一个新的名称myInt。然后,我们就可以使用myInt这个新的数据类型来定义变量了。 typedef还可以用于定义复杂的数据类型,例如结构体和指针。下面是一个结构体和指针的例子:

肥仔全栈开发

下标操作符重载模拟多维数组详解

虽然不能直接实现一对下标操作符重载,但是我们可以间接模拟。思路是这样的,先通过单下标操作返回一个具有下标操作能力的左值,对左值进行下标操作,两个下标操作表达式联立就实现了双下标操作

weixin_38655990

EDA/PLD中的ISO C++基本类型和变量

基本类型和变量.   像其他高级语言一样,ISO C++除了像C一样,有自己的基本类型:字符型,整形,浮点型等,还提供了可用于自定义类型机制.所谓的C++ STL,正是这个机制定义了大量的类型和操作.   比如可变长的string,vector等.一般和C一样,也是为了兼容C,内置类型一般小写.   对于所谓内置类型不同,一般指位数不同而已,比如int 16(当然这个有争议,很多语言都是32位,所以C++又定义了一个long 32)和float(32位),当然也有不同的类型位数一样,比如刚才int 和 short都是16.   其实所有的这一切都是编译器想怎么解释就怎么解释(也有标准的

weixin_38501810

在C++中侦测内嵌型别的存在.doc

在C++中侦测内嵌型别的存在 动机(Motivation) 假设一所大学的注册系统提供了一个注册函数: template void Register(T person) { Register(person,typename T::person_tag()); }; 而对于注册者有以下几种标识: struct student_tag{}; struct teacher_tag{}; 还有Register的几个供内部使用的重载版本: template void Register(T p,student_tag){...} //注册学生 template void Register(T p,teacher_tag){...} //注册教师 并规定学生类一定要在内部typedef student_tag person_tag ;教师类typedef teacher_tag person_tag ;这样,当传给起初的那个Register的对象为学生类对象时,typename T::person_tag()其实构造了一个student_tag对象,从而激发函数重载,调用Register内部版本的template void Register(T p,student_tag);版本。其他情况亦均有对应。这是泛型编程里的常用手法,STL里屡见不鲜。 问题是,现在学校里假如不止学生教师,还有工人,警卫等其它人员。如果他们不会在类内部typedef任何东西,则Register需要一种机制以确定T内部是否typedef了某个标识符(例如person_tag)。如果没有,就默认处理。如果有,则再进行更详细的分类。

zagu2000
评论 6
收藏 已收藏
分享
返回顶部
mopyman
C++ Builder 13,871 成员 102,696 内容