0

ネストされたブロックの書き込みに問題があります。と整数を取るブロックが欲しいとしましょう。そのブロックは、別の整数を受け取るブロックを返し、2 つの整数の合計を返します。私はこれを書き出す運がありませんでした。これは私の他のどの試みよりも悪くない1つの試みです:

(int ^(int)) (^bblock)(int) = ^(int a) {
    return ^(int b){ return a + b; };
};

誰が何が間違っているかを見つけることができますか?

4

1 に答える 1

2

かなり醜いですが、typedef の代わりに括弧を使用して実行できます。

int (^(^functor)(int))(int) = ^(int a) {
    return Block_copy(^(int b) {
        return a + b;
    });
};
于 2013-03-07T22:00:27.390 に答える