重载了typecast运算符int,但是在编译并运行代码后,我遇到了分段错误。
我调试了程序,每次调用typecast函数本身时,看到使用typecast的那行代码会重复执行而不会结束。那么,有人可以解释那里发生了什么吗?
getFragmentManager()
答案 0 :(得分:4)
在return *this;
函数的ComplexNumber::operator int()
中,*this
是ComplexNumber
。由于该函数必须返回int
,因此return
会导致转换为int
。
因此,我们将ComplexNumber
隐式转换为int
,这将导致调用ComplexNumber::operator int()
。