I presume that ‘rvalue’ is just shorthand for return value. What does it mean to initialize a return object? This is my main question. The rest is context of my particular situation, but I’m really interested in the general answer.
I’m looking at someone else’s code:
return [p_facebook.facebook handleOpenURL:url];
In theory this is calling:
- (BOOL)handleOpenURL:(NSURL *)url;
I’m seeing: Cannot initialize return object of type 'BOOL' (aka 'signed char') with an rvalue of type 'id'. I’m guessing that this class might be defined somewhere else and I have a path issue…
In this context,
rvalueis not “return value” but shorthand for (roughly) “right-hand value,” or an object that appears on the right hand side of an assignment or statement. I think you may find in the implementation of-handleOpenURL:that it returns an object of typeidat some point, which is obviously incompatible with the declaredBOOLreturn type. If you have access to the source of-handleOpenURL:, I’d recommend checking there for erroneous returns first.