これが私のコードです:
void autoreleasingReturn (NSError * __autoreleasing *error)
{
// --- Crashing
*error = [[NSError alloc] init];
// --- Not crashing
// *error = [NSError errorWithDomain:@"hello"
// code:-1
// userInfo:@{}];
}
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSError __strong *error = nil;
autoreleasingReturn(&error);
NSLog(@"error: %@", error); // crash!
}
return 0;
}
痕跡 (申し訳ありませんが、コピーして貼り付けることはできません):
質問は次のとおりです。何が起こっているのですか?
このコードで何が起こっているかについての詳細が必要です。本当に興味深い...楽器には漏れやゾンビなどは見られません。