4

我认为 'rvalue' 只是return value的简写。初始化返回对象是什么意思?这是我的主要问题。其余的是我特定情况的背景,但我对一般答案非常感兴趣。

我在看别人的代码:

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'。我猜这个类可能是在其他地方定义的,我有一个路径问题......

4

1 回答 1

6

在这种情况下,rvalue不是“返回值”,而是(大致)“右手值”的简写,或出现在赋值或语句右侧的对象。我想你可能会在实现中-handleOpenURL:发现它在某些时候返回一个类型的对象id,这显然与声明的BOOL返回类型不兼容。如果您可以访问 的来源-handleOpenURL:,我建议您先检查那里的错误返回。

于 2012-06-13T00:42:27.807 回答