Tôi có một hàm trả về một đối tượng NSError bằng cách tham khảo:Đúc một NSError trở lại một CFErrorRef trở
NSData *foo(NSData *foo, NSError *__autoreleasing *outError);
Chức năng này sử dụng một API mà phải mất một con trỏ đến lưu trữ cho một CFErrorRef. Tôi chỉ muốn chuyển trực tiếp outError
cho hàm cơ bản, nhưng tôi không thể tìm ra sự kết hợp chính xác của các từ khóa khai báo và các từ khóa được tạo để làm cho clang đồng ý với kế hoạch đó. Có cái nào không?
cheat? lỗi blah ((CFErrorRef *) (void *)); –
... nếu không, đó chỉ là quy trình gồm hai bước. Tôi nghĩ rằng trình biên dịch khá rõ ràng rằng nó cần bạn thực hiện một tuyên bố địa phương. Tôi nghĩ rằng nó không thể làm sổ sách kế toán của nó đúng cách, nếu không. (Lỗi CFErrorRef2; blah (& error2); * error = (__bridge NSError *) error2; - Tôi đoán đó là những gì bạn đang cố tránh). –
Thật vậy, tôi không muốn phải làm nóng đối tượng lỗi đối với người gọi. –