Objective-C++ 11 - Why can't we assign a block to a lambda?
问题 So, I just upgraded to Xcode 4.4, and I noticed in the changelog: Apple LLVM compiler supports additional C++11 features, including lambdas Which is awesome! So I got around to coding, and I found a few things out: Lambdas are assignable to Objective-C blocks: void (^block)() = []() -> void { NSLog(@"Inside Lambda called as block!"); }; block(); std::function can hold an Objective-C block: std::function<void(void)> func = ^{ NSLog(@"Block inside std::function"); }; func(); We cant assign an