0

我在编写嵌套块时遇到问题。假设我想要一个带有整数的块。该块返回一个接受另一个整数的块,并返回两个整数的和。我没有任何运气写出来。这是一次尝试,并不比我的任何其他尝试差:

(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 回答