C++类型转换问题

2024-12-02 05:50:24
推荐回答(2个)
回答1:

问题1:
当启用双转换运算符重载,B +1有两种可能的解释,
(理性)B +(理性)1

(双人间)B +(双)
编译器不知道哪一个应该被用来转换,因此错误。

问题2:
对于整数1具有两个输出
我们不必直接转换为整数输出的ostream
二是先转换成理性的进一步输出
清除第一种方法是比较简单的转换较少,所以编译器会选择最简单的方式来拨打电话。
如果你想使用复杂的第二种方法,你需要代码显式指定,这样写回你的