Ho una funzione che restituisce un oggetto NSError per riferimento:Casting un rendimento NSError ad un CFErrorRef ritorno
NSData *foo(NSData *foo, NSError *__autoreleasing *outError);
Questa funzione utilizza un'API che prende un puntatore ad immagazzinaggio per un CFErrorRef. Mi piacerebbe solo passare outError
direttamente alla funzione sottostante, ma non riesco a capire la combinazione corretta di parole chiave di dichiarazione e parole chiave di cast per far concordare clang con quel piano. Ce n'è uno?
cheat? errore blah ((CFErrorRef *) (void *)); –
... altrimenti è solo un processo in due fasi. Penso che il compilatore sia abbastanza chiaro che ha bisogno che tu faccia una dichiarazione locale. Penso che non possa fare correttamente la contabilità, altrimenti. (CFErrorRef error2; blah (& error2); * error = (__bridge NSError *) error2; - Immagino sia quello che stai cercando di evitare). –
In effetti, preferirei non dover ricondurre l'oggetto errore al chiamante. –