我认为'rvalue'只是返回值的简写。 初始化返回对象意味着什么?这是我的主要问题。其余的是我特殊情况的背景,但我真的对一般答案感兴趣。
我正在看别人的代码:
return [p_facebook.facebook handleOpenURL:url];
理论上这是在呼唤:
- (BOOL)handleOpenURL:(NSURL *)url;
我看到了:Cannot initialize return object of type 'BOOL' (aka 'signed char') with an rvalue of type 'id'
。我猜这个类可能在其他地方定义,我有一个路径问题......
答案 0 :(得分:6)
在此上下文中,rvalue
不是“返回值”,而是(粗略地)“右手值”的简写,或者出现在赋值或语句右侧的对象。我认为您可能会在-handleOpenURL:
的实现中发现它在某个时刻返回类型为id
的对象,这显然与声明的BOOL
返回类型不兼容。如果您有权访问-handleOpenURL:
的来源,我建议先在那里查看错误的退货。