重载类型转换运算符

时间:2018-12-25 00:47:36

标签: c++ c++11

重载了typecast运算符int,但是在编译并运行代码后,我遇到了分段错误。

我调试了程序,每次调用typecast函数本身时,看到使用typecast的那行代码会重复执行而不会结束。那么,有人可以解释那里发生了什么吗?

getFragmentManager()

1 个答案:

答案 0 :(得分:4)

return *this;函数的ComplexNumber::operator int()中,*thisComplexNumber。由于该函数必须返回int,因此return会导致转换为int

因此,我们将ComplexNumber隐式转换为int,这将导致调用ComplexNumber::operator int()