c++ - 使用 auto 声明 block

标签 c++ objective-c c++11 clang objective-c-blocks

我可以用 auto 声明 ObjC block 吗?

auto fun = ^(int x) { NSLog(@"%d", x); }
fun(5);

我无法找出有效的语法。

最佳答案

您缺少 ;声明fun后。否则,您的语法是正确的,并且 Clang 将在 -std=c++11 -fblocks 中接受该语法。模式,用于 C++ 或 Objective-C++ 输入。 (请注意, block 实际上是正交扩展,它不是 Objective-C 的一部分。)

关于c++ - 使用 auto 声明 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14338572/

相关文章:

c++ - 如何让编译器推断模板的返回类型?

c++ - 为什么延长临时对象的生命周期不会导致中间临时对象的延长?

c++ - 使用指针创建静态数组?

iphone - 主线程上的单例类 - iPhone

ios - Ruby 到 Objective C 的桥梁

c++ - 如何编译使用 C++11 库 API 的 C++03 项目?

c++ - 在二维 vector 中搜索数字序列的更快方法是什么?

c++ - 通过引用传递时 std::vector 的转换器

具有非模板化类的 C++ 类模板?

ios - Objective c 拆分字符串问题