質問: func(funcA)内で別のfunc(funcB)を定義して、 funcA内の定義箇所の前でfuncBを使おうとすると、 `Use of local variable 'testFuncB' before its declaration` とエラーがでます。 メンバー変数のようにあらかじめfunc名を宣言することはできますか?
回答: C/C++の前方宣言のようなことをやりたいという意味であれば、残念ながらSwiftではできません。 関数を代入するための変数を宣言しておけば、記述上は関数の宣言より前に関数を呼び出しを書くことはできます。 ``` var funcB: ((Int) -> Int)! func funcC() { println(funcB(5)) } func funcA() { funcB = { (i: Int) -> Int in return i * 2; } } funcA() funcC() ```