ブロック クロージャーによって (const コピーによって) キャプチャできるスタック ベースの C 文字列 (つまり、char[]) を作成するクリーンな方法を見つけようとしています。基本的な考え方は次のとおりです。
char myString[16] = {0};
// ... put something into myString.
dispatch_block_t block = ^(){
const size_t len = strlen(myString);
if (len)
NSLog(@"Not zero length");
};
しかし、それを行うと、次のコンパイラの苦情が発生します。
error: cannot refer to declaration with an array type inside block
char配列を構造体に入れることができると思いますが、それはちょっと醜いようです。より良い方法はありますか?