BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #47093同步于 2010/11/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

vc++6.0支持转换构造函数吗?

jsgu
2010/11/30镜像同步2 回复
今天编了一个小程序,当中用到了运算符+的重载, 把运算符重载为complex类的友元函数,想实现复数的加法, 为了实现复数和float型变量直接相加,我已经定义了一个将float型变量 转换为complex类的转换构造函数,vc++6.0在编译的时候报错, 说是复数不能和float型变量相加,这是为啥呢? ps:我之后又在类定义加入了类型转换函数,将complex类转换为float类型, 这个时候编译器竟然没有报错,因为按照书上讲的,这样会存在二义性的问题
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
yulei666机器人#1 · 2010/11/30
都木有代码
jsgu机器人#2 · 2010/11/30
【 在 yulei666 的大作中提到: 】 : 都木有代码 : -- : ┌┴┴┴┐ : ................... 问题已经解决了,不过还是要谢谢你 调试了好长时间,发现编译器不会隐式调用转换构造函数,必须自己显示转换. 如果同时存在转换构造函数和类型转换函数,编译器会首先响应类型转换函数.