3

typedefs を使わずにこれを行う方法がわかりません:


typedef void(^HLBlock)(void);

- (void)whatever
{
    HLBlock (^genBlock)(int) = ^(int tryCount){
        HLBlock b1 = [[^{
            NSLog(@"tryCount=%i", tryCount);
        } copy] autorelease];
        return b1;
    };

    genBlock(10);
}

HLBlock を void (^)(void) の typedef として宣言する必要があるのは非常にばかげているようですが、私の人生では、typedef なしでこれを行う方法を理解できません。genBlock の正しい戻り値の型は何ですか?

ありがとう!ジェイミー

4

1 に答える 1